【发布时间】:2014-07-10 11:52:24
【问题描述】:
我在 web.xml 中使用以下配置配置我的 tomcat。所以现在我保护文件夹 webapps 中的所有 webapps。用户必须先进行身份验证,然后才能访问网络应用程序。
<security-constraint>
<web-resource-collection>
<web-resource-name>
My Application
</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>demo123</role-name>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Secure Apps</realm-name>
</login-config>
用户登录后,可以访问请求的网络应用程序。 我的问题: 在 Web 应用程序中,用户必须登录(使用基本身份验证),因为后面有一个具有所有服务器逻辑的特定服务器。我使用 REST Web 服务与该服务器进行通信。但我不能调用网络服务,因为它显示了 401 Unauthorized。 如果我在 web.xml 中删除上面的配置,我可以毫无问题地调用这些 web 服务。 有没有办法以另一种方式保护tomcat中的所有webapps?我需要它,因为 webapps 需要基本身份验证。
对于我使用spring框架的应用程序。
【问题讨论】:
-
用户必须登录才能访问 webapps,然后必须登录到自己的 webapp?
-
是的,第一次登录是为了安全,所以客人永远不能访问网络应用程序。第二次登录是使用特定服务器登录网络应用程序。
-
为什么webapp登录不够?
-
网络应用程序都是为了测试和原型。所以在www的客人应该看不到造型和功能。你记得吗?还是方法不对? Web 应用程序应由我们的团队保护。
-
只有我必须保护网络应用程序,所以客人看不到网络应用程序。我已经用这个做到了。有没有另一种方法来保护它? stackoverflow.com/questions/5161600/…
标签: java rest tomcat authentication basic-authentication