`

J2EE安全应用___web.xml的安全配置

阅读更多
------------------tomcat .5.5 测试可用----------------阅读声明: 本次案例,使用tomcat的tomcat-users.xml文件
tomcat-users.xml提供了安全领域,这个文件会在tomcat启动时加载进内存,它足够用来
测试安全的配置效果。文件有如下内容:(如果没有,请复制到tomcat的conf文件夹)
<tomcat-users>
   <role rolename="Admin" />
   <role rolename="Guest" />
   <role rolename="Member" />
   <user username="Annie" password="admin" roles="Admin,Member,Guest" />
   <user username="Diane" password="coder" roles="Member,Guest" />
   <user username="Ted" password="newbie" roles="Guest" />
</tomcat-users>

------我们可以看到,上面声明的一些角色role,并定义的几个用户user-----
------不难发现,一个用户可以有多种角色 ---------------------------
然后是web.xml配置以下信息:
	<!-- 配置安全验证方式:1:BASIC-自己弹出对话框 2:FORM-自定义登录界面 -->
	<login-config>
		<!-- <auth-method>BASIC</auth-method>
		<realm-name>Random</realm-name>>-->
			<auth-method>FORM</auth-method>
			<form-login-config>
			<form-login-page>/login.html</form-login-page>
			<form-error-page>/error.html</form-error-page>
			</form-login-config>
	</login-config>
	<!-- 角色:来源tomcat-users.xml的<role>元素 -->
	<security-role>
		<role-name>Admin</role-name>
	</security-role>
	<security-role>
		<role-name>Member</role-name>
	</security-role>
	<security-role>
		<role-name>Guest</role-name>
	</security-role>
	<!--  指定角色特有资源-->
	<security-constraint>
		<web-resource-collection>
			<!--这个名字是必要的,虽然你不会看到它的显示调用 -->
			<web-resource-name></web-resource-name>
			<!-- 指定受约束的资源(可以多个) -->
			<url-pattern>/security/*</url-pattern>
			<!-- GET POST请求是受约束的 可以为:PUT/TRACE/DELETE/HEAD/OPTIONS-->
			<http-method>GET</http-method>
			<http-method>POST</http-method>
		</web-resource-collection>


		<!-- 授权给角色Admin Member,也就是拥有这两个角色其中之一的
			用户,通过GET/POST 可以访问前面指定的授权资源。 -->
		<auth-constraint>
			<role-name>Admin</role-name>
			<role-name>Member</role-name>
		</auth-constraint>
		<user-data-constraint>
			<transport-guarantee>NONE</transport-guarantee>
		</user-data-constraint>
	</security-constraint>


---------从上,你应该可以知道,这段XML保护的是应用上下文下security文件夹的资源
(应用上下文,对应你项目名称) ------------
你可以将我的配置复制:
并在上下文下新建security文件夹,随便建一个html
并,建立对应的 login.htmlerror.html(当然,JSP和随便的命名是允许的,)但是---------------------

注意:login.html有三个固定的元素,以下是我的html(如果你用JSP,请对j_security_check进行编码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>
  <!--看到了没 j_security_check j_username j_password-->
<body> 
    <form action="j_security_check" method="POST">
    	<input type="text" name="j_username">
    	<input type="password" name="j_password">
    	<input type="submit" value="Enter">
    </form>
  </body>
</html>


上面的其中几个元素,有特殊规则如下
特殊规则:
<role-name>:如果存在一个<auth-constraint>元素,却没有任何<role-name>,那么所有的
用户都遭到拒绝.就算有其它的<auth-constraint>也如此(注:<auth-constraint>可以配置
多个

<auth-constraint>:如果不存在,容器允许不经认证就能访问这些URL

<security-constraint>:可以多个,也导致它在可以出现同时两个对资源进行限制且请求
方式相同但限制指定角色不同 而这些不同在<auth-constraint>中,有以下四种情况:
1: Guest + Admin = (Guest,Admin)
2: Guest + * = (*) //即所有人
3: <auth-constraint/> + admin = ()//即没有人
4: 没<auth-constraint> + Admin = (*)//所有人
分享到:
评论

相关推荐

    J2EE中关于web.xml文件的配置

    在 J2EE 中,web.xml 文件扮演着非常重要的角色,它是一个基于 XML 的配置文件,用于描述 Web 应用的各个方面的配置信息。通过 web.xml 文件,我们可以对 Web 应用进行配置,例如设置应用程序的名称、描述、过滤器、...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

     国内知名的高端IT技术作家,已出版《Spring 2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts 2权威指南》、《Ruby On Rails敏捷开发最佳实践》等著作。 目录: 第0章 学习Java...

    SAP_XI_及PI_学习资源汇总.docx

    SLD 作为一个服务器应用程序,客户端可以通过 WEB 浏览器,获取并配置 XI 平台的各类信息,包括安装的软件清单(Software catalog),命名空间等。在 www.sdn.sap.com 上,有许多 XI 平台的资料,包括视频版本的学习...

    J2EE_Spring之AOP与依赖注入例子

    J2EE_Spring之AOP与依赖注入例子, Spring包请自己添加。 注意下面两个配置文件: web.xml Spring配置文件applicationContext.xml

    DWR.xml配置文件说明书(含源码)

    DWR.xml配置文件说明书 1、 建立dwr.xml 配置文件 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: &lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...

    J2EE应用开发详解

    内容为J2EE应用开发详解中的源代码 第1章 Java Web应用开发简介 1 1.1 Java EE应用概述 1 1.2 Java EE概念 1 1.2.1 Java EE多层模型 1 1.2.2 Java EE体系结构 2 1.3 Java EE的核心API与组件 4 1.4 Web服务器和应用...

    weblogic项目移植到tomcat,配置说明

    WebLogic 项目移植到 Tomcat 配置说明 在进行 WebLogic 项目移植到 Tomcat 之前,需要确保已经成功安装了 Tomcat。...最后,我们需要修改 context.xml 和 server.xml 文件,以便在 Tomcat 中配置数据源。

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    13.4.4 配置本项目的web.xml文件 13.5 编写网上调查系统的JSP页面 13.5.1 用户注册画面regedit.jsp 13.5.2 用户登录画面login.jsp 13.5.3 设定调查题目的画面surveyName.jsp 13.5.4 设定调查项目的画面surveyOption....

    使用Java读取XML配置文件

    使用 XML 作为 Java 的配置文件有很多好处,从 Tomcat 的安装配置文件和 J2EE 的配置文件中,我们已经看到 XML 的普遍应用,让我们也跟随流行趋势用 XML 武装起来。 现在关键是如何读取 XML 配置文件?有好几种 XML...

    hibernate_reference中文文档.pdf

    1.3. 第三部分 - EventManager web 应用程序 ................................. 20 1.3.1. 编写基本的 servlet ............................................. 20 1.3.2. 处理与渲染 ...............................

    《程序天下:J2EE整合详解与典型案例》光盘源码

    14.4.4 配置本项目的web.xml文件 14.5 编写内容管理系统的JSP页面 14.5.1 用户注册画面regedit.jsp 14.5.2 用户登录画面login.jsp 14.5.3 设定内容类别画面type.jsp 14.5.4 发布内容画面edit.jsp 14.5.5 浏览内容...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    13.4.4 配置本项目的web.xml文件 13.5 编写网上调查系统的JSP页面 13.5.1 用户注册画面regedit.jsp 13.5.2 用户登录画面login.jsp 13.5.3 设定调查题目的画面surveyName.jsp 13.5.4 设定调查项目的画面surveyOption....

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    13.4.4 配置本项目的web.xml文件 13.5 编写网上调查系统的JSP页面 13.5.1 用户注册画面regedit.jsp 13.5.2 用户登录画面login.jsp 13.5.3 设定调查题目的画面surveyName.jsp 13.5.4 设定调查项目的画面surveyOption....

    J2EE数据库连接池

    数据库连接池得配置及应用,主要有Context.xml文件得配置以及web.xml得配置代码

    hibernate 帮助文档

    1.3. 第三部分 - EventManager web 应用程序 ................................. 20 1.3.1. 编写基本的 servlet ............................................. 20 1.3.2. 处理与渲染 ...............................

    J2EE系统设计方案(1).doc

    J2EE技术的 基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特 性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式...

    J2EE系统设计方案.doc

    J2EE技术的 基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特 性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式...

Global site tag (gtag.js) - Google Analytics