Я пытаюсь получить контекстную область безопасности в 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.
Есть идеи?