本文整理汇总了Java中org.springframework.security.ldap.userdetails.LdapUserDetailsImpl类的典型用法代码示例。如果您正苦于以下问题:Java LdapUserDetailsImpl类的具体用法?Java LdapUserDetailsImpl怎么用?Java LdapUserDetailsImpl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LdapUserDetailsImpl类属于org.springframework.security.ldap.userdetails包,在下文中一共展示了LdapUserDetailsImpl类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: mapUserFromContext
import org.springframework.security.ldap.userdetails.LdapUserDetailsImpl; //导入依赖的package包/类
public UserDetails mapUserFromContext(DirContextOperations ctx, String username,
Collection<? extends GrantedAuthority> authorities) {
String dn = ctx.getNameInNamespace();
logger.debug("Mapping user details from context with DN: " + dn);
// User must be defined in Airsonic, unless auto-shadowing is enabled.
User user = securityService.getUserByName(username, false);
if (user == null && !settingsService.isLdapAutoShadowing()) {
throw new BadCredentialsException("User does not exist.");
}
if (user == null) {
User newUser = new User(username, "", null, true, 0L, 0L, 0L);
newUser.setStreamRole(true);
newUser.setSettingsRole(true);
securityService.createUser(newUser);
logger.info("Created local user '" + username + "' for DN " + dn);
user = securityService.getUserByName(username, false);
}
// LDAP authentication must be enabled for the given user.
if (!user.isLdapAuthenticated()) {
throw new BadCredentialsException("LDAP authentication disabled for user.");
}
LdapUserDetailsImpl.Essence essence = new LdapUserDetailsImpl.Essence();
essence.setDn(dn);
Object passwordValue = ctx.getObjectAttribute(passwordAttributeName);
if (passwordValue != null) {
essence.setPassword(mapPassword(passwordValue));
}
essence.setUsername(user.getUsername());
// Add the supplied authorities
for (GrantedAuthority authority : securityService.getGrantedAuthorities(user.getUsername())) {
essence.addAuthority(authority);
}
// Check for PPolicy data
PasswordPolicyResponseControl ppolicy = (PasswordPolicyResponseControl) ctx
.getObjectAttribute(PasswordPolicyControl.OID);
if (ppolicy != null) {
essence.setTimeBeforeExpiration(ppolicy.getTimeBeforeExpiration());
essence.setGraceLoginsRemaining(ppolicy.getGraceLoginsRemaining());
}
return essence.createUserDetails();
}
开发者ID:airsonic,项目名称:airsonic,代码行数:56,代码来源:CustomUserDetailsContextMapper.java
示例2: getCurrentUser
import org.springframework.security.ldap.userdetails.LdapUserDetailsImpl; //导入依赖的package包/类
public User getCurrentUser() {
SecurityContext securityContext = SecurityContextHolder.getContext();
Authentication authentication = securityContext.getAuthentication();
if (authentication != null) {
if (authentication.getPrincipal() instanceof org.springframework.security.core.userdetails.User) {
return (User) authentication.getPrincipal();
} else if (authentication.getPrincipal() instanceof LdapUserDetailsImpl) {
String dn = ((LdapUserDetailsImpl) authentication.getPrincipal()).getDn();
return new User(dn, "", Arrays.asList());
}
}
throw new IllegalStateException("User not found!");
}
开发者ID:lhartikk,项目名称:spring-tsers-auth,代码行数:14,代码来源:SecurityUtils.java
示例3: doFilter
import org.springframework.security.ldap.userdetails.LdapUserDetailsImpl; //导入依赖的package包/类
@Override
public void doFilter(final ServletRequest servletRequest,
final ServletResponse servletResponse,
final FilterChain filterChain) throws IOException, ServletException {
if (SecurityContextHolder.getContext() != null) {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication != null && authentication.getPrincipal() != null) {
LdapUserDetailsImpl user = (LdapUserDetailsImpl)authentication.getPrincipal();
logAccess(user.getUsername(), (HttpServletRequest)servletRequest);
}
}
filterChain.doFilter(servletRequest, servletResponse);
}
开发者ID:eHarmony,项目名称:eh-swagger-repository,代码行数:15,代码来源:SecurityLoggingFilter.java
注:本文中的org.springframework.security.ldap.userdetails.LdapUserDetailsImpl类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论