`
- 浏览:
1060176 次
- 性别:
- 来自:
南京
-
转载:《J2EE安全策略:为tomcat页面设置访问权限(j_security_check)》
原文出处: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>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
《Java Web应用开发:J2EE和Tomcat》教程第二版是蔡剑和景楠编著的一本专业书籍,专注于讲解如何使用Java Enterprise Edition (J2EE) 和Apache Tomcat服务器进行Web应用的开发。这本书深入浅出地阐述了这两个技术在...
Java Web应用开发:J2EE和Tomcat(第2版).part1
在IT行业中,Java Web应用开发是一项至关重要的技能,特别是对于那些使用...J2EE和Tomcat的结合为开发者提供了强大且灵活的开发环境,无论是初学者还是经验丰富的专业人士,都能在这个平台上找到适合自己的发展空间。
程序天下:J2EE整合详解与典型案例.教程.光盘 第二部分
5. **安全机制**:介绍J2EE的安全模型,包括角色、权限、认证和授权,以及如何配置Web和EJB组件的安全性。 6. **Web服务**:通过使用JAX-WS(Java API for XML Web Services)或JAX-RS(Java API for RESTful Web ...
Java 企业版(Java 2 Platform, Enterprise Edition,简称 J2EE)是 Sun Microsystems 推出的用于构建分布式、多层企业级应用的框架。它为开发者提供了多种服务和组件模型,包括Java Servlets、JavaServer Pages ...
Acegi Security是Spring社区早期开发的一个安全框架,用于增强J2EE应用程序的安全性。这个框架在Spring Security(之前称为Acegi Security)的后续版本中得到了发展和改进,成为了Spring生态中的核心组件。本文将...
【标题】"J2EE环境安装之一_Tomcat5安装"是关于在计算机上设置Java企业版(J2EE)开发环境的初步教程,重点聚焦于Tomcat5服务器的安装过程。Tomcat是一款广泛使用的开源应用服务器,尤其适用于运行Java Servlets和...
安全模式:J2EE、WEB服务和身份管理最佳实践与策略
[程序天下:J2EE整合详解与典型案例.教程_光盘3.rar
10. **安全机制**:J2EE提供了丰富的安全特性,包括认证、授权、加密和安全管理,确保企业级应用的安全性。 这份"J2EE指南"可能还会详细解释如何配置和部署J2EE应用,以及如何在实际项目中应用这些技术。学习J2EE...
Java Web应用开发:J2EE和Tomcat(第2版).part2
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(Java 2 Platform, Enterprise Edition)和Tomcat相关的关键知识点。下面将详细阐述...
《Java Web应用开发--J2EE...通过系统地学习这些知识点,读者不仅能够掌握Java Web应用开发的核心技术,还能深入了解如何利用J2EE和Tomcat构建高效、安全的企业级应用,为成为一名合格的Java Web开发者打下坚实的基础。
在这个教务管理系统中,J2EE提供了服务器端处理、事务管理、安全性和可扩展性等功能。 2. **Apache Tomcat**: Apache Tomcat是一款开源的Servlet容器,它是实现Java Servlet和JavaServer Pages(JSP)规范的主要...
案例5:J2EE访问Tomcat中的数据连接池 案例6:J2EE访问JBoss中数据连接池 案例7:J2EE访问WebLogic中的数据连接池 案例8:简单的登录程序 案例9:数据分页显示 案例10:网上投票系统 案例11:在浏览器内运行SQL命令 ...
9. **Spring Security**:虽然Spring Security不是J2EE标准的一部分,但它是一个广泛使用的安全框架,提供了比J2EE更强大和灵活的安全管理功能,包括访问控制、会话管理、密码策略和XSS防护等。 10. **AJAX和富...
程序天下:J2EE整合详解与典型案例.教程.光盘 第一部分