仅针对特定URL的Tomcat基本认证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅针对特定URL的Tomcat基本认证相关的知识,希望对你有一定的参考价值。

我正在使用JSP和servlet。我想在同一服务器上部署两个Web应用程序,但使用不同的URL。

我需要通过不同的用户和密码为两个Web应用程序设置基本身份验证

我已经在tomcat中配置了以下内容。

在Web.xml文件中

<web-app>
<security-constraint>
    <web-resource-collection>
        <web-resource-name>timesheet</web-resource-name>
        <url-pattern>/timesheet</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>timesheetuser</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>user password required. Producted by Udhayakumar</realm-name>
</login-config>


<security-constraint>
    <web-resource-collection>
        <web-resource-name>test</web-resource-name>
        <url-pattern>/test</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>testuser</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>user password required. Producted by Udhayakumar</realm-name>
</login-config>
</web-app>

在tomcat-user.xml文件中]
<tomcat-users>
<role rolename="timesheet"/>
<role rolename="test"/>
<user username="timesheetuser" password="test123" roles="timesheet"/>
<user username="testuser" password="test123" roles="test"/>
</tomcat-users>

Tomcat Web应用程序管理器

Tomcat Web Application Manager

如果我在浏览器中打开此URL,而不要求用户名和密码。它直接打开

  • localhost:8080 / timesheet
  • localhost:8080 / test
  • 我想在时间表和测试应用程序中使用其他用户和密码。上面的方法对我不起作用。有任何错误吗?

我正在使用JSP和servlet。我想在同一服务器上部署两个Web应用程序,但使用不同的URL。我需要为两个Web应用程序设置不同用户的基本身份验证,并且...

答案

在Web.xml中]

    <security-constraint>

    <web-resource-collection>
        <web-resource-name>Wildcard means whole app requires authentication</web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
        <role-name>testuser</role-name>
    </auth-constraint>

    <user-data-constraint>
        <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>

    </security-constraint>

以上是关于仅针对特定URL的Tomcat基本认证的主要内容,如果未能解决你的问题,请参考以下文章

仅针对 nginx 上的特定 url 使用 https 重定向

如何仅针对特定 url 添加 Spring Security 验证码过滤器

当基本字符串包含双引号时,仅针对 Swift 中 UILabel 的特定范围的点击手势不起作用

仅针对特定用户的 SSH 身份验证绕过密码身份验证

对于某些情况,如 Internet Explorer 特定的 CSS 或 Internet Explorer 特定的 JavaScript 代码,如何仅针对 Internet Explorer 10?

WooCommerce 仅针对特定链接更改链接颜色