`

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 = (*)//所有人
分享到:
评论

相关推荐

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

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

    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服务器和应用...

    搞定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....

    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应用中保护数据的安全模式...

    springboot参考指南

    导入XML配置 iv. 16. 自动配置 i. 16.1. 逐步替换自动配置 ii. 16.2. 禁用特定的自动配置 v. 17. Spring Beans和依赖注入 vi. 18. 使用@SpringBootApplication注解 vii. 19. 运行应用程序 i. 19.1. 从IDE中运行 ii....

    J2EE学习笔记(J2ee初学者必备手册)

    三、struts-config.xml配置文件中主要的元素和属性.........286 四、RequestProccessor.....................287 五、Struts1的执行流程....................289 六、struts1的高级部分....................290 七、...

    Java 面试宝典

    一. Java 基础部分............................................................................................................43、Java 中的异常处理机制的简单原理和应用。 .....................................

    Spring Security 中文教程.pdf

    2.2.1. 配置web.xml 2.2.2. 最小 &lt;http&gt; 配置 2.2.2.1. auto-config 包含了什么? 2.2.2.2. 表单和基本登录选项 2.2.3. 使用其他认证提供器 2.2.3.1. 添加一个密码编码器 2.3. 高级web特性 2.3.1. ...

Global site tag (gtag.js) - Google Analytics