如何使用Spring Ldap身份验证 [英] How to use Spring Ldap Authentication

查看:530
本文介绍了如何使用Spring Ldap身份验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我当前的项目中,我必须实现LDAP身份验证. 我正在使用JSF 2.2,primefaces和Spring 4.0以及spring-ldap-core 1.3.2和spring-security-ldap-3.2.0.以下是到目前为止我要完成的工作:

In my current project, I have to implement LDAP authentication. I am using JSF 2.2, primefaces and Spring 4.0 and spring-ldap-core 1.3.2 and spring-security-ldap-3.2.0. Below are the work till now I have done to achieve:

Spring-Ldap.xml

Spring-Ldap.xml

<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
 <property name="url" value="ldap://mumcXXXXXXX" />
 <property name="base" value="dc=ad,dc=XXX,dc=com"/>
 <property name="userDn" value="XXXX@ad.XXX.com" />
 <property name="password" value="XXXX" />
 </bean>

 <bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate">
    <constructor-arg ref="contextSource" />
</bean>

<bean id="ldapContact"
    class="com.csap.research.LDAPContactDAO">
    <property name="ldapTemplate" ref="ldapTemplate" />
</bean>

我的LdapContactDao

My LdapContactDao

public boolean login(String username, String password) {
        AndFilter filter = new AndFilter();
        ldapTemplate.setIgnorePartialResultException(true); 
        filter.and(new EqualsFilter("userPrincipalName", username+"@ad.cXXX.com"));
        return ldapTemplate.authenticate("", filter.toString(), password);
}

此处用户名和密码来自登录屏幕,作为输入.我的问题是它的硬编码.我不想在 Spring-Ldap.xml 中对用户名密码进行硬编码,因此有人建议在此处使用Spring-security-Ldap <一个href ="https://stackoverflow.com/questions/16469314/spring-ldapauthentication-and-load-roles-from-local-database"> Spring LdapAuthentication和从本地数据库加载角色,但是我无法了解它.

Here username and password are coming from Login screen as inputs. My problem is its very hardcoded. I dont want to hardcode username and password in Spring-Ldap.xml , So there was a suggestion to use Spring-security-Ldap here Spring LdapAuthentication and Load roles from local database but I was unable to understand it.

我的问题是我如何实现Ldap与spring和corse JSF的动态集成,而我正在使用JSF作为前端控制器. 任何帮助都会很棒.

My question was how I can achieve dynamic integration of Ldap with spring and corse JSF i am using as a front-end controller. Any help would be great.

推荐答案

我发现这些文章对使用Spring安全性设置登录表单很有帮助,但是,它们不使用jsf:

I found these article helpful for setting up login form with spring security, however, they do not use jsf:

http://www.mkyong.com/spring -security/spring-security-hello-world-example/ http://www.mkyong.com/spring-security/spring-security-form-login-example/

发现本文对于将ldap用作身份验证提供程序很有帮助,它不使用ldapTemplate,而是使用spring-security配置(本文中的spring-security.xml)

and found this article helpful for using ldap as authentication provider, it does not use ldapTemplate, but uses the spring-security configurations (spring-security.xml in the article)

http://krams915.blogspot.com/2011/01/spring-security-mvc-using-ldap.html

这篇关于如何使用Spring Ldap身份验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆