2016-01-24 74 views
0

我想在Jboss 6.4中实现一个LDAP验证,我是这方面的新手。我想解释我是如何理解这个过程的,并且我希望得到关于过程是否正确的意见,因为在这里有几种方法可以做到这一点。Jboss上的LDAP 6.4

1.-在我的Jboss 6.4中定义一个安全域,在这里我将把LDAP角色:LdapUserMyWeb和这个角色的密码。

登录-config.xml中

<application-policy name="LdapMyApp"> 
<authentication> 
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required" > 
<module-option name="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</module-option> 
<module-option name="java.naming.provider.url">ldap://localhost:10389</module-option> <!-- LDAP url--> 
<module-option name="java.naming.security.authentication">simple</module-option> 

<module-option name="bindDN">uid=LdapUserMyWeb,ou=system</module-option> 
<module-option name="bindCredential">myPassword</module-option> 
<module-option name="baseCtxDN">ou=people,o=sevenSeas</module-option> 
<module-option name="rolesCtxDN">ou=groups,o=sevenSeas</module-option> 

</login-module> 
</authentication> 
</application-policy> 

2:我将在的jboss-web.xml中在定义WEB-INF

<jboss-web> 
    <security-domain>java:/jaas/LdapMyApp</security-domain> 
</jboss-web> 

3.-最后,我需要将特定的URL或servlet限制为某些角色。在这个例子中,我们将只允许在角色“LdapUserMyWeb”为用户访问

<security-constraint> 
    <display-name>All resources</display-name> 
    <web-resource-collection> 
    <web-resource-name>All resources</web-resource-name> 
    <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
    <role-name>LdapUserMyWeb</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>BASIC</auth-method> 
</login-config> 

3.-在我的Web应用程序(JEE6)我将定义HttpSessionEvent和HttpSessionListener,当用于创建会话角色:LdapUserMyWeb

这里我需要检查用户和密码是否存在于LDAP中,我如何从对象会话 这个信息从LDAP?

回答