2014-11-05 6 views
2

Tomcat использовать контейнер LDAP для аутентификации пользователюTomcat JNDIRealm аутентификации и игнорировать все роли

Я пытаюсь заменить InMemory пользовательскую базу данных приложения Tomcat с проверкой подлинности LDAP. вносить изменения в conf/server.xml

При входе пользователя в систему popus up я хочу сравнить учетные данные пользователя с ldap.

<Realm className="org.apache.catalina.realm.JNDIRealm" 
connectionName="abcusername" 
connectionPassword="mypassword" 
connectionURL="ldap://ada.cab.ast.com:389" 
debug="10" userBase="DC=cab,DC=ast,DC=com" 
userSearch="(cn={0})" 
userSubtree="true"/> 

Мой web.xml, если пользователь не прошел проверку подлинности всех каких-либо ограничений роли

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>HTML Manager interface (for humans)</web-resource-name> 
     <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>*</role-name> 
    </auth-constraint> 
</security-constraint> 

<login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>Tomcat Manager Application</realm-name> 
</login-config> 

Когда я обеспечить правильное имя пользователя и пароль, я вижу в следующем журнале, что пользователь авторизован, но не разрешение я думаю, и не удалось. любая помощь приветствуется.

AuthenticatorBase.register Authenticated 'fkhan002c' with type 'BASIC' 
AuthenticatorBase.invoke Calling accessControl() 
hasResourcePermission Checking roles GenericPrincipal[fkhan002c()] 
AuthenticatorBase.invoke Failed accessControl() test 

ответ

1

Найдено проблема

Web-ресурсов коллекция для ява ресурсов, как я пытался autherize статического контента, как вы можете увидеть следующее я также необходим для статического содержимого.

<security-constraint> 
     <web-resource-collection> 
      <web-resource-name>Secure contents</web-resource-name> 
      <url-pattern>/index.html</url-pattern> 
     </web-resource-collection> 
     <auth-constraint> 
      <role-name>*</role-name> 
     </auth-constraint> 
    </security-constraint> 

    <login-config> 
     <auth-method>BASIC</auth-method> 
     <realm-name>Secure content</realm-name> 
    </login-config> 


<security-role> 
     <description> 
      This logical role includes all administrative users 
     </description> 
     <role-name>*</role-name> 
    </security-role> 
Смежные вопросы