我想用JBoss 7服务器开发一个简单的java Web应用程序,以便从用户输入的用户名/密码登录,并使用ldap进行身份验证。
所以这就是我在WEB-INF /
中放置的web.xml中写的内容 <login-config>
<auth-method>BASIC</auth-method>
<realm-name>Enter user name and password</realm-name>
</login-config>
然后在同一个文件夹中添加了jboss-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<security-domain>java:/jaas/website-domain</security-domain>
</jboss-web>
然后我在standalone.xml中添加了网站域域
<security-domain name="website-domain" cache-type="default">
<authentication>
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required">
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<module-option name="java.naming.provider.url" value="ldap://localhost:10389"/>
<module-option name="bindDN" value="ou=people,dc=mycompany,dc=com" />
<module-option name="bindCredential" value="shad"/>
<module-option name="allowEmptyPasswords" value="false"/>
<module-option name="Context.REFERRAL" value="follow"/>
<module-option name="throwValidateError" value="true"/>
<module-option name="allowEmptyPasswords" value="true"/>
</login-module>
</authentication>
</security-domain>
那么输入的用户名和密码将如何发送到这些模块?或者我是否必须编写自定义JAAS领域?他们的任何工作实例你们都可以分享我吗?
答案 0 :(得分:3)
我用葡萄牙语撰写了一篇文章......
http://jbossdivers.wordpress.com/2012/02/12/utilizando-ldap-login-module-no-jboss-as-7-1/
答案 1 :(得分:1)
您的网络应用需要通过在 WEB-INF / jboss-web.xml 中添加一行来指向您的安全域网站域
<security-domain flushOnSessionInvalidation="true">java:/jaas/website-domain</security-domain>
我相信Jboss 7你只需要指定 website-domain (没有 java:/ jaas / 前缀)