tomcat basic authentification

时间:2017-10-13 10:56:27

标签: java apache security tomcat

我想以下列方式保护一个人物tomcat。

基本上每个人(每个ip)都应该能够访问这个tomcat的webapps。

但是一些ip应该能够在没有身份验证的情况下访问tomcat(大多数),而一些(例如10.0.0。*)应该只能通过身份验证来访问这个tomcat。

我已经阅读了很多关于如何解决这个问题的文章。 Tomcat远程访问过滤器和远程主机名在我的情况下不起作用,因为我不想拒绝/允许某些IP地址的webapp。

我试图将这些行添加到context.xml中,期望我(localhost)可以在不进行身份验证的情况下访问tomcat,但仍然需要进行身份验证:

<Context antiJARLocking="true" path="/">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" invalidAuthenticationWhenDeny="true" allow="127\.0\.0\.1"/>
<Valve className="org.apache.catalina.authenticator.BasicAuthenticator" />

所以我即将结束我的知识(也许我没有多少:D)。

有人可以给我一个例子或解决我的问题吗?也许我必须编辑超过这个文件?还是我错过了解释的东西?

谢谢!

1 个答案:

答案 0 :(得分:0)

在tomcat中使用身份验证有两种方法。 1.如果您希望每个用户都无法访问每个Web应用程序,您可以实现&#34; Realm Configuration&#34; 。使用此配置,每次用户访问tomcat中部署的Web应用程序时,

它会询问用户名和密码。 欲了解更多详情,请参阅以下链接: https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html

  1. 另一种情况是,如果您希望特定的ip用户能够通过远程过滤器访问tomcat,您可以实现此目的。 更多详情请参阅以下链接: https://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Remote_Host_Filter
  2. 正如您所说,#34; Tomcat远程访问过滤器和远程主机名在我的情况下不起作用,因为我不想拒绝/允许某些IP地址的Web应用。&# 34;

    在这种情况下,您可以实现&#34; Realm配置&#34;如果你不想绑定网络应用程序的IP。这就是为什么你可以尝试使用带有用户名和密码的域配置。

    如果您仍想使用远程过滤器,请分享您正在遵循的程序,以了解失败的原因。