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

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

阅读更多
导读:
  4. Josso与Web应用安全策略的管理
  Josso在Web应用安全策略的管理主要通过JBoss容器的进行用户权限的分配和取消。它的整个应用模型主要是基于JAAS的安 全策略模型进行拓展,并对Web页面层和EJB应用组件分别进行安全控制,下面我们通过Josso自带的一个例子来说明。
  Web页面层的安全控制是在web.xml中通过<login-config>、</login-config><security-constraint>和</security-constraint><security-role>标签定义来实现的。
  以下是Josso中partnerapp例子对Web页面层的安全控制实现:
  
  <security-constraint>
  
  <web-resource-collection>
  
  <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><security-role>中定义相应的安全策略,对于JBoss来说同时还需要在jboss.xml中添加</security-role><security-domain>,以保证当前域的安全策略生效。在partnerapp中的实现如下:
  
  
  
  <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>
  
  "-//JBoss//DTD JBOSS 3.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss_3_0.dtd">  "-//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的客户端验证(采用证书验证),基于表单验证(通过表单提交的信息,自己定制验证方式)等;而通过验证后的用户信息可以通过Servlet的request对象的getUserPrincipal()方法来获得。在这里我们就不多做介绍。相关的信息可以查阅JBoss及Servlet的文档。
  5. 小结
  单点登陆(SSO)是一个很大的议题,在本文中笔者只是简单地通过对单点登陆(SSO)的实现原理和Josso在JBoss环境下的实施的介绍,让读者在一个侧面对单点登陆(SSO)有一定认识。进入讨论组讨论。
分享到:
评论

相关推荐

    CAS实现sso单点登录原理

    "CAS实现sso单点登录原理" CAS(Central Authentication Service)是Yale大学发起的一个企业级的、开源的项目,旨在为Web应用系统提供一种可靠的单点登录解决方法(属于Web SSO)。CAS开始于2001年,并在2004年12月...

    基于Java EE的单点登录技术研究与实现.zip

    总的来说,基于Java EE的单点登录技术研究与实现涉及到网络认证协议、安全性设计、应用服务器配置等多个方面,对于提高企业应用系统的易用性和安全性具有重要意义。在实际项目中,开发者需要根据具体需求选择合适的...

    SSO CAS 单点登录实例SSOAuth+SSOWebDemo1+SSOWebDemo2.zip

    单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 较大的企业内部,一般都有很多的...

    JBoss Application Server4.2 Clustering_Guide

    探讨了如何在集群环境下实现单点登录(SSO),简化用户认证流程的同时提高安全性。 **7.4 集群化 Singleton 服务** 这部分内容讨论了如何在集群环境中部署和管理 Singleton 类型的服务,包括 HASingleton Deployer ...

    单点登录分析报告.pdf

    单点登录(Single Sign-On, SSO)是一种网络身份验证技术,允许用户通过一次登录就能访问多个相互关联的应用系统,而无需多次输入凭证。本文主要分析两种常见的SSO实现框架——JOSSO(Java Open Single Sign-On)和...

    集成框架中使用CAS实现单点登录技术方案.pdf

    ### 单点登录(SSO)技术 单点登录是指用户仅需要一次身份验证,就可以访问多个不同的服务。这是通过集中式身份认证服务器来实现的,它为多个应用系统提供认证服务。 ### CAS(Central Authentication Service) ...

    teamcenter8.0版本LDAP集成单点登陆

    Teamcenter的单点登录(Single Sign-On, SSO)架构基于LDAP(轻量级目录访问协议)和可能的其他目录服务,如Active Directory或Novell。这种架构的核心是Teamcenter安全代理,它与安全服务进行通信,确保用户身份的...

    JBoss Portal Server Development

    第6章和第7章可能涉及到单点登录(Single Sign-On, SSO)和安全性设置,确保用户在访问多个系统时只需要一次登录,同时保护门户免受潜在的安全威胁。 第8章可能会讲解Google小部件的集成,如何将Google的服务如日历...

    CAS-Server-Client单点登录demo

    总之,CAS-Server-Client单点登录demo提供了一个实践SSO功能的平台,帮助开发者理解如何在不同应用间实现统一身份验证。通过对CAS服务器和客户端的配置,以及在Apache Tomcat上进行测试,你可以深入掌握SSO的工作...

    CAS SSO

    **CAS SSO(Central Authentication Service 单点登录)** CAS 是一个开源的身份验证框架,它提供了基于 Web 的单点登录(Single Sign-On, SSO)功能。SSO 允许用户在一次登录后访问多个相互信任的应用系统,而无需...

    keycloak-15.1.0 三方权限认证工具,支持sso等

    在本文中,我们将深入探讨Keycloak的功能、如何使用它支持单点登录(SSO)以及它在IT环境中的重要性。 Keycloak的核心功能包括: 1. **身份验证**:Keycloak允许用户通过用户名和密码、社交账户或其他认证方式(如...

    SAML v2 and XACML v2 Integration

    SAML v2版本提供了更强大的功能和改进的安全性,允许服务提供者和服务消费者之间的信任关系建立,从而实现单点登录(Single Sign-On, SSO)和其他高级安全特性。在JBoss平台上,SAML v2被广泛应用于身份管理解决方案...

    关于session丢失问题

    6. **使用单点登录(SSO)**:对于大型企业级应用,可以采用单点登录系统,用户只需要登录一次,即可在多个子系统间自由切换,减少Session丢失的问题。 7. **考虑无状态设计**:在微服务架构中,推动服务无状态化,...

    lifery6.1+cas初始化环境搭建及门户解决方案

    本方案的目标是将kjdp的工作流待办任务及业务对象查看功能集成到Liferay门户,并实现单点登录(SSO)功能。这不仅可以提高用户体验,还可以简化用户的登录流程,提高工作效率。 **1.2 安装** **1.2.1 版本说明** 本...

    开放源码Portal产品介绍

    5. **GridSphere**:GridSphere将网格计算技术应用于Portal,实现100%兼容JSR-168,内建RBAC功能,支持多种数据库并提供多语言支持。 这些开源Portal产品各有优缺点,适合不同的需求和环境。选择哪个产品主要取决于...

    IT项目架构与流程

    CAS(Central Authentication Service)是耶鲁大学开发的一个开放源代码单点登录(SSO)系统,它允许用户通过一次登录就能访问多个应用系统。在项目中,CAS可以提高用户体验,减少用户记住多个账户和密码的负担,...

    keycloak-server:非 jboss 服务器的 Keycloak 服务器(AS 7、EAP、Wildfly)

    Keycloak 是一个开源的身份管理和访问控制服务,它提供身份验证、单点登录(SSO)以及基于OAuth2、OpenID Connect等标准的安全API。Keycloak的服务器组件可以在多种不同的应用服务器上运行,包括JBoss AS 7、JBoss ...

    大型实验-企业门户新闻网

    首先,统一登录系统通常基于单点登录(SSO)机制,如CAS(Central Authentication Service)或OAuth2,这需要对认证协议有深入理解,并能用Java实现相应的服务端逻辑。 信息聚合涉及从各种来源收集和整合数据,例如...

Global site tag (gtag.js) - Google Analytics