:ldap에서 사용자 정보를 얻는 방법? 내가 LDAP 확인을 위하여 아파치 시로을 사용하고
Factory<SecurityManager> ldapFactory = new IniSecurityManagerFactory("classpath:active.ini");
SecurityManager sManager = ldapFactory.getInstance();
SecurityUtils.setSecurityManager(sManager);
Subject currentUser = SecurityUtils.getSubject();
if (!currentUser.isAuthenticated()) {
UsernamePasswordToken token = new UsernamePasswordToken("user", "password");
try {
currentUser.login(token);
} catch (UnknownAccountException ex) {
logger.info("Unknown user");
} catch (IncorrectCredentialsException ex) {
logger.info("Incorrect credentials");
} catch (LockedAccountException ex) {
logger.info("Account is Locked");
} catch (AuthenticationException ex) {
logger.info("Authentication Exception");
}
}
logger.info("User [" + currentUser.getPrincipal() +"] logged succesfully");
currentUser.logout();
이 currentUser.getPrincipal()
를 호출하면, 내가 로그인 한 사용자의 전용 이메일 주소를 가지고있다.
더 많은 사용자 정보를 얻는 방법 (예 : 성, 이름 등)?
나는 그것을 이미 시도했고'getPrincipal()'과 같은 것을 얻었다. 나는'getPrincipals()'를 반복했지만 결과는'getPrincipal()'과 같습니다. –