jboss 下 jaas 的使用
来源:互联网 发布:mysql 字段替换字符串 编辑:程序博客网 时间:2024/05/24 06:23
jboss 下 jaas 的使用
jaas是j2ee规范中定义的java 认证与授权服务规范,jboss作为一个主流开源j2ee应用服务器,实现了该规范。
jboss中的jaas可以用在ejb层(业务逻辑层)或web层,或者同时用于这两层。
在web层,可以通过jaas实现对资源(例如jsp页面)的保护,通过在web.xml的配置实现特定的目录只有特定角色的用户才可以访问
,所有未授权用户无法访问。当用户试图访问这些受保护的jsp页面的时候,会被导航到login页面要求输入用户名密码,输入正确后将
显示,否则被导航到无权访问的error页面。在会话有效期内,登录用户访问权限都受jaas配置控制。
当web应用部署在jboss上时,可以自定义安全域,例如使用自己定义的数据库安全域,这样就可以将用户名密码角色等信息存放在
数据库表中了,自定义安全域的步骤和注意点:
1在server/default/conf/login-config.xml中增加一个安全域。
2. 如果是在web应用中使用该安全域,则在web应用的WEB-INF下建立一个jboss-web.xml文件,在其中声明使用自定义安全域:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
<jboss-web>
<security-domain>java:/jaas/shop</security-domain>
</jboss-web>
一定要注意,该文件一定要位于WEB-INF下,否则web容器找不到该文件而使用默认的安全域other。
这样,web应用中就可以根据web.xml中配置的安全性约束来控制不同角色用户对页面的访问了。
3。如果需要在业务层ejb层使用该安全域来控制对ejb方法的访问,在jar包的META-INF下的jboss.xml中声明使用自定义安全域:
<?xml version="1.0" encoding="UTF-8"?>
<jboss>
<security-domain>shop</security-domain>
<unauthenticated-principal>AnonymousUser</unauthenticated-principal></jboss>
这样,就可以在ejb中通过注释标注各个方法的访问权限了。
如果web层和ejb业务层使用相同的安全域,web层认证通过后,将直接使用web层的角色去访问ejb层的方法。当然,也可以在web层
直接通过jndi传入用户名/密码去访问ejb的方法。
在业务层,通过 标注指明各个ejb的方法允许那些角色访问,ejb容器会根据jar包中 classpath下的users.properties和
roles.properties来确定是否允许访问这些方法。
当然,在web服务器tomcat中也对jaas 认证授权服务规范进行了实现,其实现的方式可能不一样,但是也能够实现相似的功能。
- jboss 下 jaas 的使用
- Jboss+EJB3下使用JAVA验证和授权服务(JAAS)
- 1.JBoss下利用JAAS处理登录
- Flex + BlazeDS + JBoss 下集成JAAS
- jboss与jaas的整合日记
- jboss4+ejb3下使用JAAS
- jboss4+ejb3下使用JAAS
- jboss4+ejb3下使用JAAS
- 5.Jboss下用JAAS处理Web登录安全性范例
- jboss EAP-6.3.0下配置JAAS安全应用
- Tomcat下的JAAS实例
- Tomcat下的JAAS实例
- 介绍下这几天研究的JAAS
- linux下JBoss的简单使用
- jboss 下使用jms
- 2.JAAS概述以及Jboss安全性配置
- How the JaasSecurityManager Uses JAAS in Jboss
- JAAS概述以及Jboss安全性配置
- 数字黑洞
- test
- eclipse中class file editor Source not found的解决方法
- Google Protocol Buffer
- 类模板
- jboss 下 jaas 的使用
- jwsmtp, a simply C++ SMTP library
- test
- LOG4CPLUS, a logging library for C++
- Blackberry上实现文字滚动效果
- jboss下数据源jndi配置
- AAA
- 在Debian 上编译内核2.6.26.3加入Layer7模块
- 浅谈Android调试工具ADB