b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

ldap认证_ldap认证服务器_ldap认证服务器搭建(4)

电脑杂谈  发布时间:2017-02-23 04:55:02  来源:网络整理

在我们指定 authenticator 构造参数时,我们指定了一个 BindAuthenticator 对象,并将一个 contextSource 指定给了它,这个 contextSource 的定义如下:

    <bean id="contextSource"
        class="org.springframework.security.ldap.DefaultSpringSecurityContextSource" >
        <constructor-arg value="${security.ldap.providerUrl}" /> 
        <property name="userDn" value="${security.ldap.userDn}" />  
        <property name="password" value="${security.ldap.password}" />
    </bean>

这里定义了 LDAP 的一些属性。userDn 和 password 是一个域账户的用户名和密码,我们公司配置的 LDAP 必须要指定一个有特殊权限的用户来操作才可以。

${security.ldap.searchFilter} 是配置文件中配置的 LDAP 查询用户的过滤器内容,像我们公司的 LDAP服务器,登录是检查 mailNickname 来作为用户名的,所以我们在配置文件中如下配置:{0} 会替换成登录用户输入的用户名。

security.ldap.searchFilter=(mailNickname={0})

在我们指定 ldapAuthProvider 的第二个构造参数 authoritiesPopulator 时,我们配置的是自己实现的类 LdapAuthoritiesPopulatorImpl,这个类首选检查里有没有记录,如果没有,就用LDAP里的信息初始化。然后从加载权限并添加到要作为函数返回值的Collection 中去。

这里需要注意的是,如果我们希望拿到 LDAP 里的信息,不需要自己再写程序连接 LDAP服务器,因为传入的参数 DirContextOperations userData 已经将能读到的 LDAP 信息都带过来了。比如你想要用户的中文姓名,那么可以这样:

userData.getAttributes().get("displayName").get().toString()

当然,上面说的 displayName 是我们公司 LDAP 里记录中文姓名的属性。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-33983-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 织田优成
      织田优成

      我们趁这个机会宣布南海防空识别区了

    • 章晨露
      章晨露

      为什么马云这么爱说啊

    热点图片
    拼命载入中...