Ошибка при аутентификации учетной записи пользователя домена (user01) с использованием JNDI для LDAP.Хотя технически это не ошибка, он читает
Username user01 does NOT have role Domain Users
Я думал, и, насколько я понимаю, группу AD (где существует пользователь, входящий в приложение) можно сопоставить с именем роли в коде web.xml дляразрешить пользователю войти в приложение.
Моя текущая конфигурация JNDI Realm выглядит следующим образом:
.. / tomcat7 / conf / server.xml
<Realm className="org.apache.catalina.realm.JNDIRealm"
debug="99"
connectionURL="ldap://example.com:389"
authentication="simple"
referrals="follow"
connectionName="cn=administrator,cn=users,dc=example,dc=com"
connectionPassword="xxxxxxxxxx"
userSearch="(sAMAccountName={0})"
userBase="dc=example,dc=com"
userSubtree="true"
userRoleName="memberOf"
roleSearch="(member={0})"
roleName="cn"
roleSubtree="true"
roleBase="dc=example,dc=com" />
.. / tomcat7 / webapps / appdir / WEB-INF / web.xml (здесь я попытался указать группу пользователей домена AD в ограничении «имя-роли»):
<security-constraint>
<display-name>Domain User Access</display-name>
<web-resource-collection>
<web-resource-name>Entire Application</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>Domain Users</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<description>Webapp Admins</description>
<role-name>Domain Admins</role-name>
</security-role>
<security-role>
<description>Webapp Users</description>
<role-name>Domain Users</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Entire Application</realm-name>
</login-config>
</web-app>
.. / tomcat7 / logs / catalina.out (последние 10 строк отражают причину - я думаю - проблемы, но я не знаю, как это исправить)
Oct 10, 2018 4:53:55 PM org.apache.catalina.authenticator.AuthenticatorBase
register
FINE: Authenticated 'leeb' with type 'BASIC'
Oct 10, 2018 4:53:55 PM org.apache.catalina.authenticator.AuthenticatorBase
invoke
FINE: Calling accessControl()
Oct 10, 2018 4:53:55 PM org.apache.catalina.realm.RealmBase
hasResourcePermission
FINE: Checking roles GenericPrincipal[user01(CN=Domain
Admins,CN=Users,DC=example,DC=com,Domain Admins,)]
Oct 10, 2018 4:53:55 PM org.apache.catalina.realm.RealmBase hasRole
FINE: Username user01 does NOT have role Domain Users
Oct 10, 2018 4:53:55 PM org.apache.catalina.realm.RealmBase
hasResourcePermission
FINE: No role found: Domain Users
Oct 10, 2018 4:53:55 PM org.apache.catalina.authenticator.AuthenticatorBase
invoke
FINE: Failed accessControl() test
Может кто-нибудь дать совет или заметить явную ошибку?Мне нужна другая пара глаз, чтобы увидеть, где не хватает этой конфигурации.