查看完整版本: JBoss下的单点登陆(SSO)技术实现分析五

hahj 2008-1-3 14:26

JBoss下的单点登陆(SSO)技术实现分析五

[b]4. Josso与Web应用[/b][url=http://www.pcdog.com/special/2004/index.html][size=3][color=#0066cc][b]安全[/b][/color][/size][/url][b]策略的管理[/b]


    Josso在Web应用安全策略的管理主要通过JBoss容器的进行用户权限的分配和取消。它的整个应用模型主要是基于JAAS的安 全策略模型进行拓展,并对Web页面层和EJB应用组件分别进行安全控制,下面我们通过Josso自带的一个例子来说明。
Web页面层的安全控制是在web.xml中通过<login-config>、<security-constraint>和<security-role>标签定义来实现的。
以下是Josso中partnerapp例子对Web页面层的安全控制实现:
<security-constraint><!-- Sample Security Constraint --><web-resource-collection><!-- We're going to protect this resource and make it available only to users in "role1". --> <web-resource-name>public-resources</web-resource-name><url-pattern>/resources/**//*</url-pattern><http-method>HEAD</http-method><http-method>GET</http-method><http-method>POST</http-method><http-method>PUT</http-method><http-method>DELETE</http-method></web-resource-collection></security-constraint><security-constraint><web-resource-collection><web-resource-name>protected-resources</web-resource-name><url-pattern>/josso/*</url-pattern><url-pattern>/protected/*</url-pattern><http-method>HEAD</http-method><http-method>GET</http-method><http-method>POST</http-method><http-method>PUT</http-method><http-method>DELETE</http-method></web-resource-collection><auth-constraint><role-name>role1</role-name></auth-constraint><user-data-constraint><transport-guarantee>NONE</transport-guarantee></user-data-constraint></security-constraint><login-config><auth-method>FORM</auth-method><form-login-config><form-login-page>/login-redirect.jsp</form-login-page><form-error-page>/login-redirect.jsp</form-error-page></form-login-config></login-config><security-role ><description>Role 1</description><role-name>role1</role-name></security-role>

     对于EJB应用组件只需在ejb-jar.xml的部署描述符中添加<security-role>中定义相应的安全策略,对于JBoss来说同时还需要在jboss.xml中添加<security-domain>,以保证当前域的安全策略生效。在partnerapp中的实现如下:
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'><ejb-jar><display-name>Partner Component</display-name><enterprise-beans><session><ejb-name>PartnerComponentEJB</ejb-name><home>org.josso.samples.ejb.PartnerComponentHome</home><remote>org.josso.samples.ejb.PartnerComponent</remote><ejb-class>org.josso.samples.ejb.PartnerComponentEJB</ejb-class><session-type>Stateless</session-type><transaction-type>Container</transaction-type></session></enterprise-beans><assembly-descriptor><security-role><description>Role 1</description><role-name>role1</role-name></security-role><method-permission><description>Security attributes for 'PartnerComponenttEJB' methods</description><role-name>role1</role-name><method><ejb-name>PartnerComponentEJB</ejb-name><method-name>*</method-name></method></method-permission><container-transaction><method><ejb-name>PartnerComponentEJB</ejb-name><method-name>*</method-name></method><trans-attribute>Required</trans-attribute></container-transaction></assembly-descriptor></ejb-jar><?xml version="1.0" encoding="UTF-8"?><!DOCTYPE jboss PUBLIC"-//JBoss//DTD JBOSS 3.0//EN""http://www.jboss.org/j2ee/dtd/jboss_3_0.dtd"><jboss><security-domain>java:/jaas/josso</security-domain><enterprise-beans><session><ejb-name>PartnerComponentEJB</ejb-name><jndi-name>josso/samples/PartnerComponentEJB</jndi-name></session></enterprise-beans></jboss>

    以上是Josso对Web应用层和EJB组件所关联的安全策略的部署描述,另外在Josso验证的验证过程中,登陆页面、注销页面和通过验证后用户的信息都是通过JBoss服务器支持的单点登陆模式来实现的。JBoss服务器支持的登录验证机制主要有:基于HTTP的基本验证(采用简单的Base64编码),基于HTTPS的客户端验证(采用[url=http://www.pcdog.com/net/3451/index.html][size=3][color=#0066cc]证书[/color][/size][/url]验证),基于表单验证(通过表单提交的信息,自己定制验证方式)等;而通过验证后的用户信息可以通过Servlet的request对象的getUserPrincipal()方法来获得。在这里我们就不多做介绍。相关的信息可以查阅JBoss及Servlet的文档。
[b]
[b]    5. 小结[/b][/b]
    单点登陆(SSO)是一个很大的议题,在本文中笔者只是简单地通过对单点登陆(SSO)的实现原理和Josso在JBoss环境下的实施的介绍,让读者在一个侧面对单点登陆(SSO)有一定认识。

芬守广 2008-12-9 02:46

(鉴)上海数码相机摄像机专业维修61024803

上海数码相机摄像机专业维修 61024  803    61024  804
精修数码相机镜头缩不回/伸不出(部分镜头机械故障能够当场解决立等可取)
精修富士相机对焦错误/变焦错误
精修柯达数码相机黑屏
精修数码相机无图像
精修数码相机不开机
精修富士9600转盘脱落
精修佳能报错“E18”
精修佳能报错ERR99
精修佳能报记忆卡错误
精修佳能黑屏
精修富士F420对焦错误
精修柯达V530/550开机要求格式化记忆卡或者花屏黑屏
精修卡西欧开机只亮指示灯
数码相机进水紧急救护(进不含盐液体一周内送修修复率超过50%、进牛奶一个月内修复率超过80%)
拥有正宗的数码相机零件进货渠道 依托上海维修中心技术力量 资深维修工程师亲自坐阵 判断精确维修迅速价格低廉
上海市漕溪北路38号11楼A座 网炬网络科技有限公司  器材维修部  
拥有各大品牌数码相机的售后维修实力和零部件进货渠道
免检查费
部分维修故障价格(包含维修费和零件费)
无图像(图像不良)100-300 3个工作日内
镜头无法伸缩150-550 3个工作日(大部分立等可取)内
不开机150-500 7个工作日内
屏碎250-550 5个工作日内
清洁镜头150 1个工作日内
专业技术,低廉价格,诚信服务。
地铁一号线徐家汇站8号口出至实业大厦左拐
各品牌数码相机维修实力.零件进货渠道
资深工程师坐阵精确判断维修.价格低廉
[url=http://www.shdcfix.com.cn/]http://www.shdcfix.com.cn[/url]
页: [1]
查看完整版本: JBoss下的单点登陆(SSO)技术实现分析五