我对完全陌生,在我的web应用程序中配置它需要一些帮助。
我想在我的web应用程序中限制对jsp的访问。这就是我如何在我的web.xml中配置安全性。
<security-constraint>
<display-name>PrivilegedConstraint</display-name>
<web-resource-collection>
<web-resource-name>JSP Files</web-resource-name>
<description>All the jsp files in the web application</description>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>PrivilegedRole</role-name>
</auth-constraint>
<user-data-constraint>
<description/>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>BasicRealm</realm-name>
</login-config>
<security-role>
<description>This is a privileged role. Has access to everything in the web app</description>
<role-name>PrivilegedRole</role-name>
</security-role>我的问题是:
在login元素中领域名称的用途是什么?我在哪里配置用户名、密码并将用户映射到角色?
当我试图访问我的web应用程序中的jsp时,我会被问到用户名和密码。我能给你什么?这个安全机制是如何工作的呢?
我对安全性完全陌生,所以如果有人能给我介绍一篇很好的文章,解释配置安全性的基本原理以及它是如何工作的,我会很感激。
发布于 2011-10-19 10:50:00
问:“在login元素中领域名称的目的是什么?”
来自Java 6教程
领域是为web或应用程序服务器定义的安全策略域。领域包含一组用户,这些用户可能分配给组,也可以不分配给组。
在当前Servlet3.0规范中定义的行为
HTTP基本身份验证基于用户名和密码,是HTTP/1.0规范中定义的身份验证机制。web服务器请求web客户端对用户进行身份验证。作为请求的一部分,web服务器传递要对用户进行身份验证的领域(字符串)。web客户端从用户那里获取用户名和密码,并将它们发送到web服务器。然后,web服务器在指定的域中对用户进行身份验证。
问:“我应该在哪里配置用户名、密码并将用户映射到角色?”
这是特定于容器的。也就是说,每个服务器供应商都可以自由地定义如何定义用户/组以及如何配置这些信息。通常有不止一种方法可以做到这一点。
用户和组通常在目录中定义。然后将服务器配置为使用此目录,管理员将在部署时映射应用程序角色。
开发人员Tomcat测试服务器可能使用平面文件;生产WebSphere服务器可能通过LDAP连接到公司Exchange目录。
有关更多信息,请参阅您的服务器文档。
除了使用Netbeans和Glassfish的http://download.oracle.com/javaee/6/tutorial/doc/index.html教程之外,您还可以做更糟的事情,但是要注意特定于该供应商产品的步骤。
https://stackoverflow.com/questions/7818968
复制相似问题