X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Fruntime%2Forg.argeo.security.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fcore%2FDefaultSecurityService.java;h=ef64337ebed1d99762cf642a0c496a8892447980;hb=00a5c6cc0b5ed08afba5b34567acd5a4fec4826f;hp=0467de8cb967474593679373cc8bd3b74bd50c6e;hpb=2f5648fe0951f67461a319864b980777ddf24149;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 0467de8cb..ef64337eb 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 @@ -1,5 +1,6 @@ package org.argeo.security.core; +import org.argeo.ArgeoException; import org.argeo.security.ArgeoSecurity; import org.argeo.security.ArgeoSecurityDao; import org.argeo.security.ArgeoSecurityService; @@ -25,6 +26,14 @@ public class DefaultSecurityService implements ArgeoSecurityService { securityDao.update(user); } + public void updateCurrentUserPassword(String oldPassword, String newPassword) { + SimpleArgeoUser user = new SimpleArgeoUser(securityDao.getCurrentUser()); + if (!user.getPassword().equals(oldPassword)) + throw new ArgeoException("Old password is not correct."); + user.setPassword(newPassword); + securityDao.update(user); + } + public void newUser(ArgeoUser user) { user.getUserNatures().clear(); argeoSecurity.beforeCreate(user);