X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=security%2Fruntime%2Forg.argeo.security.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fcore%2FDefaultSecurityService.java;h=0467de8cb967474593679373cc8bd3b74bd50c6e;hb=4a045d66694bcb80968158dc82344f3906fce530;hp=6be432547a4ab468cbd959f293b1661dc6279d21;hpb=b00a7e9898ea2819100290cab22bf614e23a3abf;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/DefaultSecurityService.java b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/DefaultSecurityService.java index 6be432547..0467de8cb 100644 --- a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/DefaultSecurityService.java +++ b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/DefaultSecurityService.java @@ -4,6 +4,7 @@ import org.argeo.security.ArgeoSecurity; import org.argeo.security.ArgeoSecurityDao; import org.argeo.security.ArgeoSecurityService; import org.argeo.security.ArgeoUser; +import org.argeo.security.SimpleArgeoUser; public class DefaultSecurityService implements ArgeoSecurityService { private ArgeoSecurity argeoSecurity = new DefaultArgeoSecurity(); @@ -14,16 +15,30 @@ public class DefaultSecurityService implements ArgeoSecurityService { } public void newRole(String role) { - ArgeoUser superUser = securityDao.getUser(argeoSecurity.getSuperUsername()); - superUser.getRoles().add(role); - securityDao.update(superUser); + securityDao.createRole(role, argeoSecurity.getSuperUsername()); + } + + public void updateUserPassword(String username, String password) { + SimpleArgeoUser user = new SimpleArgeoUser(securityDao + .getUser(username)); + user.setPassword(password); + securityDao.update(user); } public void newUser(ArgeoUser user) { + user.getUserNatures().clear(); argeoSecurity.beforeCreate(user); securityDao.create(user); } + public void updateUser(ArgeoUser user) { + String password = securityDao.getUserWithPassword(user.getUsername()) + .getPassword(); + SimpleArgeoUser simpleArgeoUser = new SimpleArgeoUser(user); + simpleArgeoUser.setPassword(password); + securityDao.update(simpleArgeoUser); + } + public void setArgeoSecurity(ArgeoSecurity argeoSecurity) { this.argeoSecurity = argeoSecurity; }