【问题标题】:tomcat 7 web.xml hierarchy - users and roles - java servlettomcat 7 web.xml 层次结构-用户和角色-java servlet
【发布时间】:2018-05-31 14:19:47
【问题描述】:

我正在尝试熟悉 TomEE,或者至少熟悉我目前正在使用的旧应用程序中使用的 TomCat 7。

在tomcat 位置有一个web.xml。据我了解,这用于所有没有自己的 web.xml 的 servlet,对吗?或者这也将用于那些拥有自己的 servlet?

不确定此配置文件的层次结构。

试图让一个模块的基本身份验证工作可以通过像 \localhost:8080\AB 这样的 url 分配 \localhost:8080\manager 的 tomcat 用户工作正常。 但无法登录 \localhost:8080\AB

我尝试修改 web.xml 如下:

<security-role>
 <role-name>users</role-name>
</security-role>
<security-constraint>
    <web-resource-collection>
        <web-resource-name>basic demo resource</web-resource-name>
        <url-pattern>\AB\*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>users</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
</login-config>

但访问此 servlet 仍然不需要登录。

我发现,这个 Java 项目中还有另一个 web.xml,我也尝试使用上面的代码对其进行修改。 我知道我做错了什么,但不明白现在是什么。

角色“用户”是在 tomcat-users.xml 中创建的,并且用户也被分配到该组。

【问题讨论】:

    标签: authentication tomcat servlets apache-tomee security-constraint


    【解决方案1】:

    您只定义了安全约束而不是角色。您需要定义 tomcat 用户和交叉角色等。

    <tomcat-users>
        <role rolename="AB"/>  <!-- you have to define all roles -->
        <user username="myname" password="mypassword" roles="AB"/> 
        <!-- you have to assign login and roles -->
     </tomcat-users>
    

    【讨论】:

    • 我已经在tomcat目录下的tomcat-users.xml中添加了角色和用户。因此存在“用户”角色和该角色中的用户。或者如果我在 tomcat-users.xml 中定义它并尝试从项目中包含的我的 web.xml 访问角色,它是否不起作用。这就是 标签的作用,对吧?
    【解决方案2】:

    tomcat 目录中的 web.xml 包含默认设置。 webapp 可以覆盖它自己的 web.xml 中的定义。

    要访问 /AB,您需要:

    • 使用正斜杠:&lt;url-pattern&gt;/AB/*&lt;/url-pattern&gt;
    • 在您的用户数据库中拥有一个角色为users 的用户
    • 在登录弹出对话框中输入用户名和密码。

    【讨论】:

    • 好的,用正斜杠修改了网址。这必须足以获得登录提示,对吧?当然,它只有在角色和用户被定义的情况下才有效,但应该会出现登录提示。而现在情况并非如此。如何获取用户数据库中的用户?通过使用tomcat目录下的tomcat-users.xml?
    • 您使用的是什么类型的领域?
    • 尚未为此定义任何内容。 server.xml 中的领域似乎是默认的。
    猜你喜欢
    • 2020-10-09
    • 2010-11-19
    • 2014-06-17
    • 2014-11-01
    • 2012-06-16
    • 2017-12-27
    • 2011-11-03
    • 2020-03-17
    • 2013-11-18
    相关资源
    最近更新 更多