• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java LdapUserDetailsImpl类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java FillOutsideLine类代码示例发布时间:2022-05-23
下一篇:
Java BlockCauldron类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap