密码保护Tomcat的快速方法?

Jon*_*nik 2 tomcat authorization

我正在寻找一种快速方法来保护 Tomcat 实例和在其上运行的所有 web 应用程序,以便访问任何页面都需要凭据(简单的用户名/密码)。

我猜Realm是做到这一点的“正确”方式,但这似乎不太容易设置。我们更喜欢一种您根本不必更改 web 应用程序本身的方式。任何人都知道是否有一种“快速而肮脏”的方法来实现这一目标?

Wil*_*ass 5

几个想法

(1) 如果你可以修改你的webapps的web.xml,只需在web.xml中加入几行来要求基本认证。诀窍是确保在 tomcat-users.xml 中为用户指定了一个与 web.xml 的 auth-constraint 部分中定义的角色匹配的角色:

网页.xml:

<auth-constraint>
  <role-name>protected</role-name>
</auth-constraint>
Run Code Online (Sandbox Code Playgroud)

tomcat-users.xml:

<tomcat-users>
  <user name="theuser" password="pas" roles="protected" />
</tomcat-users>
Run Code Online (Sandbox Code Playgroud)

(2)如果你的Tomcat服务器前面有一个APache httpd服务器,那么在Apache中很容易做到这一点。在您的配置文件中,您只需要设置如下内容:

<Location /webappname>
        AuthType Basic
        AuthName "Protected site"
        AuthUserFile /etc/apache2/passwords
        Require user theuser
</Location>
Run Code Online (Sandbox Code Playgroud)