`
yushanyuan
  • 浏览: 5673 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JEE安全机制

阅读更多
   涉及到JAAS(Java 鉴别与授权服务)。本文重点介绍相关配置。

WEB-INFO/web.xml

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

<security-constraint>
    <web-resource-collection>
      <display-name>Example Security Constraint</display-name>
      <web-resource-name>Secure Area</web-resource-name>
      <url-pattern>/su/*</url-pattern>
      <http-method>GET</http-method>
      <http-method>POST</http-method>
   </web-resource-collection>
   <auth-constraint>
      <role-name>role1</role-name>
      <role-name>admin</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>ABC Administration Console</realm-name>
</login-config>
</web-app>

说明:
    <display-name>和<web-resource-name>可以是任意,但最好起一个有意义的名。   
    <auth-constraint>中<role-name>约束了只有哪些角色可以访问由<url-pattern>指定的资源。 
    <http-method>对指定方法的访问进行限定,未指出的不进行限定。   
    <login-config>:内说明的是以何种方式进行身份验证,有三种可选值:   None,Digest,Client-Cert,Basic,Form。
    <realm-name>:区域名,可以是你想给客户看的提示信息。   

  当<login-config>使用FORM时:
    <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
            <form-login-page>/ua/login.jsp</form-login-page>
            <form-error-page>/ua/login.jsp?error=true</form-error-page>
        </form-login-config>
    </login-config>
  页面login.jsp

<FORM name="logonForm"  method="post" action="j_security_check">
   <input name="j_username" type="text" />
   <input name="j_password" type="password" />
</FORM>

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

在JBOSS环境下:
需要在jboss-web.xml中配置JAAS的安全域:
<jboss-web>
<security-domain>java:/jaas/adc</security-domain>
</jboss-web>

abc是web工程名

还需要配置JBOSS/server/conf/login-config.xml:

例如:用户信息存放在数据库的方式。
<policy>
<application-policy name = "abc">
       <authentication>
         <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule"
                       flag="required">
           <module-option name="dsJndiName">java:/abcDS</module-option>
           <module-option name="principalsQuery">
             SELECT PASSWORD_ FROM abc_ID_USER WHERE NAME_=?
           </module-option>
           </login-module>
       </authentication>
    </application-policy>
</policy>


例如:数据以.properties文件形式存在:

<application-policy name = "abc">
       <authentication>
        <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
          flag="required">
          <module-option name="usersProperties">props/abc-user.properties</module-option>
          <module-option name="rolesProperties">props/abc-role.properties</module-option>
          <module-option name="unauthenticatedIdentity">anonymous</module-option>
        </login-module>
      </authentication>
    </application-policy>



参考:http://www.blogjava.net/asktalk/archive/2005/07/23/8221.html
http://www.velocityreviews.com/forums/t142248-how-to-authenticate-under-jbossjaas-from-a-public-web-app-page.html
http://blog.csdn.net/benjamin_liu/archive/2007/08/28/1761645.aspx
分享到:
评论

相关推荐

    JEE2实现文件上传

    JEE2 实现文件上传需要了解 HTTP 请求机制和文件上传的基本原理,然后选择合适的框架和组件来实现文件上传功能。 知识点: * HTTP 请求机制 * ServletInputStream 对象 * 文件上传的基本原理 * JEE2 中的文件上传 ...

    JEE入门,JEE基础PPT

    此外,还应当掌握JEE相关技术的细节,例如Servlet的工作原理、如何使用JEE提供的事务管理机制等。通过掌握JEE的零散基础知识和组件体系结构,开发者能够构建起企业级应用的核心能力,并逐渐深入到JEE开发的各个领域...

    jee 用户管理代码

    - 认证机制如Spring Security或 JAAS(Java Authentication and Authorization Service)可以用于安全控制,确保只有合法用户能访问系统资源。 2. **用户注册**: - 注册过程涉及新用户的创建,包括收集并验证...

    jee 参考手册 (实用版)

    它简化了创建和管理用户界面组件的过程,提供了数据绑定和事件处理机制。 4. **EJB(Enterprise JavaBeans)**:EJB是JEE中的核心组件,用于构建服务器端的业务逻辑。有三种类型的EJB:会话Bean(Session Beans)、...

    restlet-jee-2.0.3

    8. **Internationalization and Security**:框架还提供了国际化和安全性的支持,包括对多语言的处理和各种安全机制,如SSL/TLS加密,身份验证等。 在实际开发中,使用Restlet JEE 2.0.3,开发者可以通过以下步骤...

    Jee课设大作业(博客管理系统)

    7. **安全机制**:考虑到博客系统的用户登录和权限管理,可能会涉及Spring Security或Apache Shiro等安全框架,用于实现用户认证和授权。 8. **部署与运行环境**:项目通常会在Tomcat、Jetty等应用服务器上运行,而...

    jee 商城系统

    11. **安全机制**:如HTTPS、Spring Security,保护用户数据和交易安全。 12. **缓存技术**:如Redis,提高数据访问速度,减轻数据库压力。 13. **测试**:单元测试、集成测试、性能测试,确保代码质量。 以上就是...

    JEE考试概要

    - `Cookie`和`Session`的关系:两者都可以用来跟踪用户状态,但Cookie依赖于客户端,而Session依赖于服务器,且Session安全性更高。 3. **JSP** - JSP(JavaServer Pages)是动态网页技术,它将HTML和Java代码...

    restlet2.0版本jee源代码

    开发者可以通过集成Java EE的安全机制来进一步增强安全性。 9. **测试和支持(Testing and Support)**: 除了源代码,Restlet 2.0还提供了示例和测试用例,帮助开发者更好地理解和学习如何使用框架。此外,社区支持...

    restlet-jee-2.2.2

    6. **安全和认证**:Restlet提供了安全和认证机制,支持基本认证、OAuth和其他安全策略,确保REST服务的安全性。 7. **性能优化**:Restlet框架对HTTP协议进行了优化,减少了不必要的对象创建和内存占用,提高了...

    Spring:JEE框架

    它提供了一整套安全认证和授权机制,包括登录验证、权限控制、CSRF 防护等功能。 **Spring Data** Spring Data 项目旨在简化数据访问层的开发,支持多种数据存储技术,如 JPA、NoSQL 数据库(MongoDB、Cassandra ...

    JSPBC的电子商务系统(JEE)论文

    4. **安全性**:JEE内置的安全机制,如角色-based访问控制(RBAC),确保了系统的安全性和合规性。 5. **可移植性**:JEE遵循开放标准,使得应用程序可以在任何兼容JEE的服务器上运行。 **电子商务系统的关键功能** ...

    面试\JAVA,JEE基础,面试题汇总

    此外,JVM还实施了严格的代码安全性,如字节码验证和沙箱机制,确保代码在执行时不会对系统造成威胁。 Java代码的运行过程分为加载、校验和执行三个步骤。首先,类装载器加载CLASS文件,然后字节码校验器对代码进行...

    jee6 学习系列告一段落,uploaded zipped project after JAAS security

    描述中的“NULL”意味着没有具体的项目描述,但我们可以从标题推测,这个压缩包可能包含了一个完整的JEE6项目,该项目已经实施了JAAS的安全机制。博主可能在博客中详细介绍了如何配置和使用JAAS来保护应用程序,包括...

    基于JEE交友网站的设计和实现.doc

    JEE平台提供了完善的技术支持,包括数据库管理、安全机制、会话管理等,可以满足交友网站的技术需求。 2.1.3 法规可行性 在开发过程中,需遵守相关法律法规,如用户隐私保护、网络安全法等,确保网站运营的合法性...

    计算机毕业设计之jsp基于JEE的购物网站.zip

    8. **异常处理**:良好的异常处理机制是任何项目必不可少的部分,它能确保系统在遇到错误时能够优雅地处理,提供友好的错误信息给用户。 9. **安全措施**:考虑到购物网站涉及支付和用户隐私,设计中应包含安全措施...

    基于JEE架构网上书店的设计和实现.doc

    在用户管理模块,使用JEE中的认证和授权机制,可以实现安全的用户登录和权限控制。图书信息则可以通过JPA(Java Persistence API)与数据库进行交互,实现数据的持久化存储。对于图书分类和检索,可以利用EJB...

    静态化web论坛系统_jee_论坛_论坛web_freemaker_droppedvxd_

    JEE的安全机制如Servlet Filter可以实现登录验证和权限控制。 3. **缓存策略**:静态化策略可以降低服务器压力,提高访问速度。例如,使用Redis缓存热门主题或频繁访问的数据。 4. **SEO优化**:静态化HTML页面有助...

    在JEE环境下整合Activiti5.8

    7. **安全与权限**:在JEE环境中,整合可能涉及到与应用服务器的认证和授权机制集成,确保只有具备相应权限的用户才能触发或处理流程中的任务。 8. **监控和调试**:Activiti提供了强大的管理控制台,允许管理员...

Global site tag (gtag.js) - Google Analytics