当前位置: 首页>>代码示例>>Java>>正文


Java LdapUserDetailsImpl类代码示例

本文整理汇总了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;未经允许,请勿转载。