`

转载:《J2EE安全策略:为tomcat页面设置访问权限(j_security_check)》

    博客分类:
  • J2EE
阅读更多
原文出处:http://www.blogjava.net/asktalk/archive/2005/07/23/8221.htmlhttp://www.blogjava.net/asktalk/archive/2005/07/23/8221.html

声明:本人转载只为分享,如涉及商业版权纠纷,请及时与本人联系,必将立即删除,造成不便,还望见谅,谢谢。



在web应用中,对页面的访问控制通常通过程序来控制,流程为:
登录 -> 设置session -> 访问受限页面时检查session是否存在,如果不存在,禁止访问

对于较小型的web应用,可以通过tomcat内置的访问控制机制来实现权限控制。采用这种机制的好处是,程序中无需进行权限控制,完全通过对tomcat的配置即可完成访问控制。

为了在tomcat页面设置访问权限控制,在项目的WEB-INFO/web.xml文件中,进行如下设置:

<web-app>

<!--servlet等其他配置-->

<security-constraint>
  <web-resource-collection>
      <display-name>Example Security Constraint</display-name>
      <web-resource-name>My Test</web-resource-name>
  
      <url-pattern>/ddly/admin/*</url-pattern>
  </web-resource-collection>
 
<auth-constraint>
    <role-name>role1</role-name>
    <role-name>tomcat</role-name>
</auth-constraint>

</security-constraint>

<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>My Test</realm-name>
</login-config>

</web-app>


其中,<url-pattern>中指定受限的url,可以使用通配符*,通常对整个目录进行访问权限控制。
<auth-constraint>中指定哪些角色可以访问<url-pattern>指定的url,在<role-name>中可以设置一个或多个角色名。

使用的角色名来自tomcat的配置文件${CATALINA_HOME}/conf/tomcat-users.xml。

<login-config>中设置登录方式,<auth-method>的取值为BASIC或FORM。如果为BASIC,浏览器在需要登录时弹出一个登录窗口。如果为FORM方式,需要指定登录页面和登录失败时的提示信息显示页面。

使用FORM方式的配置样例如下:

<login-config>
   <auth-method>FORM</auth-method>
   <realm-name>Example Form-Based Authentication Area</realm-name>
   <form-login-config>
      <form-login-page>/login.jsp</form-login-page>
      <form-error-page>/error.jsp</form-error-page>
   </form-login-config>
</login-config>


其中的<form-login-page>指定登录页面url,<form-error-page>指定登录失败时的提示页面url。
登录页面中,form的action,以及其中的用户名和密码两个参数的名称,都应取固定的值。登录的后台处理程序为j_security_check;用户名和密码的参数名称分别为:j_username和j_password。
如下是登录页面(如:login.jsp)的一段示例代码:

<form method="POST" action='<%= response.encodeURL("j_security_check") %>' >
  <table border="0" cellspacing="5">
    <tr>
      <th align="right">Username:</th>
      <td align="left"><input type="text" name="j_username"></td>
    </tr>
    <tr>
      <th align="right">Password:</th>
      <td align="left"><input type="password" name="j_password"></td>
    </tr>
    <tr>
      <td align="right"><input type="submit" value="Log In"></td>
      <td align="left"><input type="reset"></td>
    </tr>
  </table>
</form>




分享到:
评论

相关推荐

    《Java Web应用开发:J2EE和Tomcat》教程第二版

    《Java Web应用开发:J2EE和Tomcat》教程第二版是蔡剑和景楠编著的一本专业书籍,专注于讲解如何使用Java Enterprise Edition (J2EE) 和Apache Tomcat服务器进行Web应用的开发。这本书深入浅出地阐述了这两个技术在...

    Java Web应用开发:J2EE和Tomcat(第2版).part1

    Java Web应用开发:J2EE和Tomcat(第2版).part1

    JAVA WEB 应用开发:J2EE和TOMCAT

    在IT行业中,Java Web应用开发是一项至关重要的技能,特别是对于那些使用...J2EE和Tomcat的结合为开发者提供了强大且灵活的开发环境,无论是初学者还是经验丰富的专业人士,都能在这个平台上找到适合自己的发展空间。

    程序天下:J2EE整合详解与典型案例.教程.光盘 part2

    程序天下:J2EE整合详解与典型案例.教程.光盘 第二部分

    [程序天下:J2EE整合详解与典型案例.教程_光盘4.rar

    5. **安全机制**:介绍J2EE的安全模型,包括角色、权限、认证和授权,以及如何配置Web和EJB组件的安全性。 6. **Web服务**:通过使用JAX-WS(Java API for XML Web Services)或JAX-RS(Java API for RESTful Web ...

    acegi应用安全J2EE安全

    Acegi Security是Spring社区早期开发的一个安全框架,用于增强J2EE应用程序的安全性。这个框架在Spring Security(之前称为Acegi Security)的后续版本中得到了发展和改进,成为了Spring生态中的核心组件。本文将...

    J2EE环境安装之一_Tomcat5安装

    【标题】"J2EE环境安装之一_Tomcat5安装"是关于在计算机上设置Java企业版(J2EE)开发环境的初步教程,重点聚焦于Tomcat5服务器的安装过程。Tomcat是一款广泛使用的开源应用服务器,尤其适用于运行Java Servlets和...

    安全模式:J2EE、WEB服务和身份管理最佳实践与策略

    安全模式:J2EE、WEB服务和身份管理最佳实践与策略

    [程序天下:J2EE整合详解与典型案例.教程_光盘3.rar

    [程序天下:J2EE整合详解与典型案例.教程_光盘3.rar

    Java学习资料:J2EE 指南 doc版

    10. **安全机制**:J2EE提供了丰富的安全特性,包括认证、授权、加密和安全管理,确保企业级应用的安全性。 这份"J2EE指南"可能还会详细解释如何配置和部署J2EE应用,以及如何在实际项目中应用这些技术。学习J2EE...

    Java Web应用开发:J2EE和Tomcat(第2版).part2

    Java Web应用开发:J2EE和Tomcat(第2版).part2

    J2ee平台安全技术架构

    J2EE容器(如Tomcat、WebLogic或WebSphere)提供了一些内置的安全服务,如EJB的实体Bean的安全性、JASPIC(Java Authentication and Authorization Service Provider Interface for Containers)接口,以及JACC...

    Java.Web应用开发.J2EE和Tomcat第2版.pdf

    从给定的文件标题“Java.Web应用开发.J2EE和Tomcat第2版.pdf”以及描述和标签中,我们可以提炼出一系列与Java Web应用开发、J2EE(Java 2 Platform, Enterprise Edition)和Tomcat相关的关键知识点。下面将详细阐述...

    Java Web应用开发--J2EE和Tomcat第2版

    《Java Web应用开发--J2EE...通过系统地学习这些知识点,读者不仅能够掌握Java Web应用开发的核心技术,还能深入了解如何利用J2EE和Tomcat构建高效、安全的企业级应用,为成为一名合格的Java Web开发者打下坚实的基础。

    教务管理系统javaweb项目 运行环境:Apache Tomcat、JDK1.8:J2EE eclipse.zip

    在这个教务管理系统中,J2EE提供了服务器端处理、事务管理、安全性和可扩展性等功能。 2. **Apache Tomcat**: Apache Tomcat是一款开源的Servlet容器,它是实现Java Servlet和JavaServer Pages(JSP)规范的主要...

    J2EE经典案例设计与实现

    案例5:J2EE访问Tomcat中的数据连接池 案例6:J2EE访问JBoss中数据连接池 案例7:J2EE访问WebLogic中的数据连接池 案例8:简单的登录程序 案例9:数据分页显示 案例10:网上投票系统 案例11:在浏览器内运行SQL命令 ...

    J2EE JAR包(J2EE1.3 J2EE1.4 J2EE5.0 )

    Java 企业版(Java 2 Platform, Enterprise Edition,简称 J2EE)是 Sun Microsystems 推出的用于构建分布式、多层企业级应用的框架。它为开发者提供了多种服务和组件模型,包括Java Servlets、JavaServer Pages ...

    j2EE权限管理项目

    9. **Spring Security**:虽然Spring Security不是J2EE标准的一部分,但它是一个广泛使用的安全框架,提供了比J2EE更强大和灵活的安全管理功能,包括访问控制、会话管理、密码策略和XSS防护等。 10. **AJAX和富...

    程序天下:J2EE整合详解与典型案例.教程.光盘

    程序天下:J2EE整合详解与典型案例.教程.光盘 第一部分

Global site tag (gtag.js) - Google Analytics