tomcat 7.0 + JSF 2
我使用正确的凭据登录后立即收到403错误(错误的凭据按预期指向login.xhtml)。我在apache中创建了新用户,重新启动了webservice并且仍然无法连接它。
Tomcat的users.xml中
<tomcat-users>
<user name="lala" password="lala!!!" roles="admin-gui,manager-gui" />
<role rolename="administrator"/>
<user username="admin" password="admin" roles="administrator"/>
</tomcat-users>
为什么我只能使用lala登录而不能使用admin(我已手动添加)。任何idia为什么?
和server.xml中的域(tomcat conf)
under <host>:
<Realm className="com.bannerplay.beans.Admin">
在项目的欢迎文件(login.xhtml)中我使用了j_security_check(基于表单的身份验证)
<form method="post" action="j_security_check">
<p>
Enter user ID and password:<br/> <br/>
User ID <input type="text" name="j_username"/>
Password <input type="password" name="j_password"/> <br/><br/>
<input type="submit" value="Login"/>
</p>
</form>
并定义了类似的web.xml:
...
<security-constraint>
<display-name>Admin</display-name>
<web-resource-collection>
<web-resource-name>BannerPlay administration Tool</web-resource-name>
<description/>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>administrator</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>com.bannerplay.beans.Admin</realm-name>
<form-login-config>
<form-login-page>/faces/login.xhtml</form-login-page>
<form-error-page>/faces/login.xhtml</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description/>
<role-name>administrator</role-name>
</security-role>
项目树:
当试图访问localhost:8080 / myProject /我得到login.xhtml,当输入正确的凭据('lala'用户工作,而不是管理员)我得到403。 当试图访问localhost时:8080 / myProject / main.xhtml我再次被重定向到登录页面。(正确凭证后)
我尝试将“管理员”角色添加到用户lala,但结果相同。
我该怎么办?感谢
答案 0 :(得分:0)
解决方案是不要从硬盘驱动器更改tomcat-users.xml文件。它必须从日食改变。从HD更改后,我注意到它不断回到旧版本的文件,而不是保留我的更改。这在运行项目后发生。从日食中改变它并解决了问题。