------------------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.html 和
error.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 = (*)//所有人
分享到:
相关推荐
EJB 3.0引入了实体Bean的注解驱动,使得开发者无需XML配置即可定义持久化实体。此外,会话Bean也变得更轻量级,支持无状态和有状态会话Bean,并引入了名为"Singleton"的新会话Bean类型。 2. **JSF 1.2**:Java...
2. **统一的注解(Annotations)**:大量使用注解替代XML配置,如`@EJB`, `@WebService`, `@PersistenceContext`等,提高了代码的可读性和可维护性。 3. **Java Persistence API (JPA)**:为数据持久化提供了标准...
通常,一个J2EE项目可能包含Servlets、JSP页面、EJBs、配置文件(如web.xml、ejb-jar.xml)、数据库连接配置以及其他的辅助类。这些文件共同构成了一个完整的应用程序,用户可以下载并研究其架构和实现细节,以学习...
3. 部署应用:将Servlet类的编译结果(.class文件)和web.xml放入Web应用的结构中,然后将整个应用部署到服务器。 通过理解并熟练运用Servlet API,开发者可以构建功能丰富的Web应用,实现动态页面生成、用户交互、...
2. **配置文件**(.xml):如web.xml,定义了Web应用的部署描述符,用于配置Servlet、过滤器、监听器等。 3. **资源文件**:如数据库连接字符串、本地化文本、图片等。 4. **编译后的字节码**(.class):Java源代码...
在 J2EE 中,web.xml 文件扮演着非常重要的角色,它是一个基于 XML 的配置文件,用于描述 Web 应用的各个方面的配置信息。通过 web.xml 文件,我们可以对 Web 应用进行配置,例如设置应用程序的名称、描述、过滤器、...
7. **XML (eXtensible Markup Language)**:XML用于数据交换和结构化数据描述,常用于Web服务和配置文件。 8. **JMS (Java Message Service)**:JMS提供了消息传递机制,允许异步通信和解耦组件,增强了系统的可...
在J2EE环境中,`web.xml`是Web应用程序的部署描述符,它是整个应用的核心配置文件,用于定义应用的行为、组件、安全性以及与其他服务的交互方式。下面将详细介绍其中的一些关键元素。 1. **<web-app>**: 这是web....
总结,配置Flex、J2EE和LCDs在myEclipse中是一项关键任务,它使得开发者能利用Flex的强大UI设计能力,结合J2EE的后端处理能力,构建出功能丰富的Web应用。通过上述步骤,你将能够顺利地完成这一过程,并为开发高质量...
**J2EE应用程序详解与JSME** 在Java技术体系中,J2EE(Java 2 Platform, Enterprise Edition)是一个用于构建企业级应用的框架,它为开发者提供了多种服务和组件模型,以支持分布式、多层架构的应用程序。J2EE平台...
JSF 2.0带来了更少的XML配置,更多注解支持,以及更好的性能和用户体验。 综上所述,"J2EE_6.0_jar包"可能包含了一些关键的库和组件,如Spring MVC和Hibernate Validator,这些都是在J2EE 6.0环境下进行高效、健壮...
学习这个课件,初学者会了解到如何创建和配置XML配置文件,如Spring的beans.xml和Struts的struts.xml,这两个文件是控制框架行为的关键。此外,还会涉及到JavaBean的使用,以及如何通过Action类和控制器进行业务逻辑...
### J2EE应用开发_初识J2EE #### JSP简介 JavaServer Pages (简称JSP) 是一种由Sun Microsystems公司(现已被Oracle收购)主导,并与多个其他技术提供商合作开发的一种动态网页技术标准。它允许开发人员将Java代码...
在J2EE应用程序开发中,`web.xml`文件被称为部署描述符,它是应用程序的核心配置文件。这个文件定义了Web应用的结构、行为以及服务器如何处理请求。本文将深入解析`web.xml`配置文件中的各个元素及其用法。 一、web...
- **配置文件**:Hibernate应用通常使用名为`hibernate.cfg.xml`的配置文件,该文件通常放置在项目的类路径下。 - **方言配置**:`hibernate.dialect`属性用于配置数据库方言,以适配不同的数据库管理系统。 - **...
Eclipse提供了强大的代码编辑、调试、构建和项目管理功能,支持J2EE应用的开发。通过安装各种插件,如WTP(Web Tools Platform),可以方便地进行Web和企业级项目的开发。 Struts是一个基于MVC(Model-View-...
- **简化部署**:J2EE 5.0 支持使用注解来配置 Web Services,从而避免了大量的 XML 文件配置工作。 - **SOAP 消息处理**:新增了对 SOAP 消息级别的处理能力,例如错误处理、消息头的使用等。 ##### 3. 安全性的...
J2EE(Java 2 Platform, Enterprise Edition)是一个用于构建企业级应用的平台,它提供了多种服务,如安全性、事务处理、以及Web服务支持等,以帮助开发者创建分布式、多层的复杂应用。 【描述】"J2EE——BBS项目,...