0
개별적으로 제대로 작동하는지 테스트했지만, 함께 사용하면 데이터베이스 모듈이나 Ldap 모듈에서 제대로 인증 할 수 없습니다.authentication login-modules 플래그가 충분하지 않지만 두 모듈에서 작동하지만 개별적으로 작동합니다.
무엇이 누락 되었습니까?
standalone.xml
...
<authentication>
<login-module code="LdapExtended" flag="sufficient">
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<module-option name="java.naming.provider.url" value="ldap://ldap.domain.net:389"/>
<module-option name="java.naming.security.authentication" value="simple"/>
<module-option name="baseCtxDN" value="dc=domain,dc=global"/>
<module-option name="baseFilter" value="(&(uid={0})(memberOf=cn=rol,ou=Rols,ou=Groups,dc=rol,dc=global))"/>
<module-option name="rolesCtxDN" value="ou=Rols,ou=Groups,dc=rol,dc=global"/>
<module-option name="roleFilter" value="(member=uid={1},ou=Users,dc=rol,dc=global)"/>
<module-option name="roleAttributeID" value="cn"/>
<module-option name="roleAttributeIsDN" value="false"/>
<module-option name="searchScope" value="SUBTREE_SCOPE"/>
<module-option name="allowEmptyPasswords" value="true"/>
</login-module>
<login-module code="Database" flag="sufficient">
<module-option name="dsJndiName" value="java:jboss/datasources/MySqlDS"/>
<module-option name="principalsQuery" value="SELECT password FROM t_user WHERE username = ?"/>
<module-option name="rolesQuery" value="SELECT none, 'Roles' FROM t_user WHERE username = ?"/>
</login-module>
</authentication>
...
web.xml을
...
<login-config>
<auth-method>FORM</auth-method>
<realm-name>myrealm</realm-name>
<form-login-config>
<form-login-page>/login.xhtml</form-login-page>
<form-error-page>/login-error.xhtml</form-error-page>
</form-login-config>
</login-config>
...
그리고 j_username 및 j_password 기본적으로 j_security_check의 호출 형태.
각 모듈에서 속성을 테스트했지만 여전히 동일합니다. –
Joe