Настройка контекста Tomcat Security Realm - PullRequest
7 голосов
/ 09 декабря 2010

Я пытаюсь получить контекстную область безопасности в Tomcat 6.0, но при запуске Tomcat я получаю следующую ошибку:

09-Dec-2010 16:12:40 org.apache.catalina.startup.ContextConfig validateSecurityRoles
INFO: WARNING: Security role name myrole used in an <auth-constraint> without being defined in a <security-role>

Я создал следующий файл context.xml:

<Context debug="0" reloadable="true">

  <Resource name="MyUserDatabase"
            type="org.apache.catalina.UserDatabase"
            description="User database that can be updated and saved"
            factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
            pathname="conf/my-users.xml" />

  <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
         resourceName="MyUserDatabase"/>

</Context>

Создан файл: my-users.xml, который я поместил в WEB-INF / conf и который содержит следующее:

<tomcat-users>
  <role rolename="myrole"/>
  <user username="test" password="changeit" roles="myrole" />
</tomcat-users>

Добавлены следующие строки в мой файл web.xml:

<web-app ...>
  ...
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Entire Application</web-resource-name>
      <url-pattern>/*</url-pattern>
    </web-resource-collection> 
    <auth-constraint>
      <role-name>myrole</role-name>
    </auth-constraint>
  </security-constraint>

  <login-config>
    <auth-method>BASIC</auth-method>
  </login-config>
  ...
</web-app>

Но, похоже, ошибка появляется везде, где я помещаю файл conf / my-users.xml. Нужно ли указывать явный PATH в пути или это где-то относительно? В идеале я хотел бы, чтобы он был упакован как часть моего файла WAR.

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 09 декабря 2010

Я полагаю, вам нужно следующее в вашем web.xml

<security-role>
    <role-name>myrole</role-name>
</security-role>

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

<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>MyUserDatabase</realm-name>
 </login-config>

или аналогичный.

0 голосов
/ 09 декабря 2010

Взгляните на файл tomcat-users.xml в вашем каталоге конфигурации Tomcat, который определяет роли безопасности в качестве примера того, что вам нужно.

Кроме того, обратитесь к следующей статье за рекомендациями..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...