我想在Tomcat的6.0,以獲得上下文特定的安全領域,但是當我啓動Tomcat我得到以下錯誤:配置上下文特定的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>
創建的文件:我-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 /我-users.xml中的錯誤。我必須在路徑名中指定一個明確的PATH還是相對於某個地方?理想情況下,我希望將其打包爲我的WAR文件的一部分。
任何想法?
stjohnroe嗨,這肯定幫助,並清除了啓動錯誤,但它似乎Tomcat是否完全無視我的context.xml文件。如果我添加<角色角色名= 「myrole」/ > <用戶的用戶名= 「測試」 密碼= 「的changeit」 角色= 「myrole」/ >到的catalina.home $/conf資料/ Tomcat的users.xml中,然後它的工作原理,但我想要一個自定義的tomcat用戶文件。任何想法還是不可能有兩個領域? – 2010-12-09 18:03:54