Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web应用程序的容器管理安全性_Java_Web Applications_Jakarta Ee_Security - Fatal编程技术网

Java Web应用程序的容器管理安全性

Java Web应用程序的容器管理安全性,java,web-applications,jakarta-ee,security,Java,Web Applications,Jakarta Ee,Security,我对容器管理的安全性完全陌生,需要一些帮助来在我的web应用程序中配置它 我想限制对web应用程序中jsp的访问。这就是我在web.xml中配置安全性的方式 <security-constraint> <display-name>PrivilegedConstraint</display-name> <web-resource-collection> <web-resource-name>JSP File

我对容器管理的安全性完全陌生,需要一些帮助来在我的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>

特权约束
JSP文件
web应用程序中的所有jsp文件
*.jsp
特权酒店
没有一个
基本的
基本原理
这是一个特权角色。可以访问web应用程序中的所有内容
特权酒店
我的问题是:

登录配置元素中域名的用途是什么? 在哪里配置用户名、密码并将用户映射到角色

当我试图在我的web应用程序中访问jsp时,我会被要求输入用户名和密码。我在那里给什么?这个安全机制是如何工作的

我对安全性一无所知,所以如果有人能给我一篇好文章,解释配置安全性的基础知识以及它的实际工作原理,我将不胜感激

问:“登录配置元素中域名的用途是什么?”

从:

域是为web或应用程序服务器定义的安全策略域。一个领域包含一组用户,这些用户可以被分配到组,也可以不被分配到组

当前规范中定义的行为:

HTTP基本身份验证,基于用户名和密码, 是HTTP/1.0规范中定义的身份验证机制。 web服务器请求web客户端对用户进行身份验证。作为一部分 对于请求,web服务器传递其中的域(字符串) 要对用户进行身份验证。web客户端获取用户名 和来自用户的密码,并将其传输到web服务器。 然后,web服务器对指定领域中的用户进行身份验证


问:“在哪里配置用户名、密码并将用户映射到角色?”

这是特定于容器的。也就是说,每个服务器供应商都可以自由定义如何定义用户/组以及如何配置此信息。通常有不止一种方法可以做到这一点

用户和组通常在目录中定义。然后将服务器配置为使用此目录,管理员将在部署时映射应用程序角色

开发人员Tomcat测试服务器可能使用平面文件;生产WebSphere服务器可以通过LDAP连接到公司Exchange目录

有关更多信息,请参阅服务器文档


您可能会比使用Netbeans和Glassfish遵循教程做得更糟,但要注意特定于该供应商产品的步骤