【问题标题】:How to change tomcat-users.xml when using Eclipse?使用 Eclipse 时如何更改 tomcat-users.xml?
【发布时间】:2012-08-29 18:51:21
【问题描述】:

tomcat 7.0 + JSF 2

我在使用正确的凭据登录后立即收到 403 错误(错误的凭据按预期指向 login.xhtml)。我在 apache 中创建了新用户,重新启动了 web 服务,但仍然无法连接。

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,但结果相同。

我该怎么办?谢谢

【问题讨论】:

  • 您找到解决方案了吗?我也有类似的问题。

标签: eclipse tomcat7 http-status-code-403


【解决方案1】:

解决方案是不要更改硬盘驱动器中的 tomcat-users.xml 文件。它必须从eclipse更改。从高清更改它后,我注意到它一直回到文件的旧版本,而不是保留我的更改。这发生在运行项目之后。从 eclipse 中更改它并解决问题。

【讨论】:

    猜你喜欢
    • 2013-05-07
    • 1970-01-01
    • 2021-03-28
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 2019-05-01
    相关资源
    最近更新 更多