X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=security%2Fruntime%2Forg.argeo.security.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fldap%2FArgeoSecurityDaoLdap.java;h=2fa2ce8b964fe8f1e091a384a621e8a6b888a624;hb=51cdd7c0883f0ccd756f0f5d0dc2ac97b327d25d;hp=763539ce25afb8d0b39d98bb94fb40a59756ec03;hpb=e80be147bdb65aa2a0c34e848ca78851b781508d;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/ArgeoSecurityDaoLdap.java b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/ArgeoSecurityDaoLdap.java index 763539ce2..2fa2ce8b9 100644 --- a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/ArgeoSecurityDaoLdap.java +++ b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/ArgeoSecurityDaoLdap.java @@ -1,6 +1,6 @@ package org.argeo.security.ldap; -import static org.argeo.security.core.ArgeoUserDetails.createBasicArgeoUser; +import static org.argeo.security.core.ArgeoUserDetails.createSimpleArgeoUser; import java.util.ArrayList; import java.util.List; @@ -11,6 +11,7 @@ import javax.naming.directory.DirContext; import org.argeo.security.ArgeoSecurityDao; import org.argeo.security.ArgeoUser; +import org.argeo.security.SimpleArgeoUser; import org.argeo.security.core.ArgeoUserDetails; import org.springframework.beans.factory.InitializingBean; import org.springframework.ldap.core.ContextExecutor; @@ -91,13 +92,21 @@ public class ArgeoSecurityDaoLdap implements ArgeoSecurityDao, InitializingBean } public ArgeoUser getUser(String uname) { - return createBasicArgeoUser(getDetails(uname)); + SimpleArgeoUser user = createSimpleArgeoUser(getDetails(uname)); + user.setPassword(null); + return user; + } + + public ArgeoUser getUserWithPassword(String uname) { + return createSimpleArgeoUser(getDetails(uname)); } public ArgeoUser getCurrentUser() { Authentication authentication = SecurityContextHolder.getContext() .getAuthentication(); ArgeoUser argeoUser = ArgeoUserDetails.asArgeoUser(authentication); + if (argeoUser == null) + return null; if (argeoUser.getRoles().contains(defaultRole)) argeoUser.getRoles().remove(defaultRole); return argeoUser; @@ -115,7 +124,7 @@ public class ArgeoSecurityDaoLdap implements ArgeoSecurityDao, InitializingBean List lst = new ArrayList(); for (String username : usernames) { - lst.add(createBasicArgeoUser(getDetails(username))); + lst.add(createSimpleArgeoUser(getDetails(username))); } return lst; }