`
hanjiangit
  • 浏览: 187909 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

单点登录JA-SIG研究分析

阅读更多

原文地址:http://zuozheng456.blog.163.com/blog/static/236900562008112421021203/

一、数据库配置

        1.复杂数据库驱动jar文件到cas服务端网站的lib目录下

        2.修改CasServer\WEB-INF\deployerConfigContext.xml文件:

 

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 <!-- 注释掉如下代码-->

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

        替换成:

 

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     <property name="sql" value="select PASSWORD_ from ID_USER where NAME_=?"/>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     <property name="passwordEncoder" ref="passwordEncoder"/>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     <property name="dataSource" ref="dataSource"/>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 </bean>

        在文件末尾加入:

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 <!-- 数据源定义 -->

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷     <bean id="dataSource"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         class="org.springframework.jdbc.datasource.DriverManagerDataSource">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="driverClassName" value="${db.driver}" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="url" value="${db.url}" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="username" value="${db.username}" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="password" value="${db.password}" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷     </bean>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷     <bean id="passwordEncoder"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         autowire="byName">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <constructor-arg value="MD5" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷     </bean>

        在CasServer\WEB-INF\cas.properties文件中添加:

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 database.hibernate.dialect=org.hibernate.dialect.OracleDialect

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 #database.hibernate.dialect=org.hibernate.dialect.MySQLDialect

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 #database.hibernate.dialect=org.hibernate.dialect.HSQLDialect

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 db.driver=oracle.jdbc.driver.OracleDriver

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 db.url=jdbc\:oracle\:thin\:@localhost\:1521\:master

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 db.username=casusername

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 db.password=caspwd

     二、LDAP配置

            1.复杂cas-server-support-ldap-3.2.jar文件到cas服务端网站的lib目录下

            2.修改CasServer\WEB-INF\deployerConfigContext.xml文件:

 

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 <!-- 注释掉如下代码-->

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

 

        替换成:(注意:位置)

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 <bean

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     class="com.jihong.cas.adaptors.ldap.BindLdapAuthenticationHandler">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     <property name="filter" value="uid=%u" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     <!-- 基节点 -->

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     <property name="searchBase"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                         value="OU=单位,O=TJJU" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     <property name="contextSource" ref="contextSource" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 </bean>

在文件末尾加入:

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 <bean id="contextSource"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         class="org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="password" value="secret" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="pooled" value="true" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="urls">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷             <list>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <value>ldap://192.168.0.1:389/</value>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷             </list>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         </property>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <!-- property name="userName" value="uid=admin,O=TJJU" /-->

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="baseEnvironmentProperties">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷             <map>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <entry>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     <key>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                         <value>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                             java.naming.security.authentication

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                         </value>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     </key>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     <value>simple</value>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 </entry>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷             </map>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         </property>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷     </bean>

     三、分析deployerConfigContext.xml的其他配置

         1.客户端登陆服务配置:每加入一个客户端网站都需修改这个配置。   

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 <bean id="serviceRegistryDao"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl" />

        例如:

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 <bean id="serviceRegistryDao"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <!-- 注册客户端 -->

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="registeredServices">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷             <list>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷             <!-- 一个客户端配置 -->

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <bean

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     class="org.jasig.cas.services.RegisteredServiceImpl" 

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     p:id="1"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     p:description="Tout Nancy 2" 

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     p:serviceId="*://localhost:8080/**"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     p:name="Tout Nancy 2" 

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     p:theme="nancy2" 

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     p:allowedToProxy="true"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     p:enabled="true" 

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     p:ssoEnabled="true" 

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     p:anonymousAccess="false">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     <!-- 允许的属性 -->

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     <property name="allowedAttributes" value="Name,telephoneNumber,fullName,mail,eduPersonAffiliation,groupMembership"/>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 </bean>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷             </list>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         </property>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷     </bean>

        2.属性注册:从数据库中读取的属性

 

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 <bean id="attributeRepository"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         class="org.jasig.services.persondir.support.StubPersonAttributeDao">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="backingMap">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷             <map>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <entry key="uid" value="uid" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <entry key="eduPersonAffiliation"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     value="eduPersonAffiliation" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <entry key="groupMembership" value="groupMembership" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷             </map>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         </property>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷     </bean>

    例如:从LDAP中读取属性

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷 <bean id="attributeRepository"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         class="com.jihong.services.persondir.support.ldap.LdapPersonAttributeDao">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="baseDN" value="OU=单位,O=TJJU" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="query" value="(uid={0})" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="contextSource" ref="contextSource" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         <property name="ldapAttributesToPortalAttributes">

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷             <map>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <entry key="cn" value="Name" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <entry value="Telephone" key="telephoneNumber" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <entry value="Full Name" key="fullName" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <entry value="Email" key="mail" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <entry key="eduPersonAffiliation"

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                     value="eduPersonAffiliation" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷                 <entry key="groupMembership" value="groupMembership" />

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷             </map>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷         </property>

单点登录JA-SIG研究分析 - 展翅高飞 - 爪哇谷     </bean>

分享到:
评论

相关推荐

    Java单点登录系统 JA-SIG CAS

    通过学习这些文档,你可以深入了解如何在你的Java项目中实施JA-SIG CAS,以构建一个高效、安全的单点登录系统。同时,这些资料也可能涵盖了一些实际案例和常见问题的解决方案,帮助你在实际操作中避免陷阱,提高开发...

    JA-SIG(CAS)简单部署01

    CAS(Central Authentication Service)是由JA-SIG(Joint Architecture for Shared Information and Services)组织开发的一款单点登录(Single Sign-On, SSO)解决方案。本实验的目标是在特定的系统环境中实现CAS...

    基于java的开发源码-单点登录系统 JA-SIG CAS.zip

    这个压缩包"基于java的开发源码-单点登录系统 JA-SIG CAS.zip"包含了实现CAS服务器和客户端的Java源代码。 首先,理解CAS的核心概念: 1. **服务提供商(Service Provider, SP)**:需要用户身份验证的应用系统。 2...

    基于Java的源码-单点登录系统 JA-SIG CAS.zip

    在本案例中,我们讨论的是基于Java实现的单点登录系统——JA-SIG CAS。这个系统是开源的,由教育高级网(Ja-Sig)开发,旨在提供一种简单而有效的解决方案,为校园环境或企业环境中的各种应用实现安全的单点登录功能...

    基于java的单点登录系统 JA-SIG CAS.zip

    综上所述,基于Java的JA-SIG CAS系统是一个强大且灵活的单点登录解决方案,适用于多种环境和需求,其标准化协议和丰富的扩展性使其在教育、企业和其他组织中得到广泛应用。通过深入理解和实践,开发者可以构建出高效...

    基于Java的单点登录系统 JA-SIG CAS.zip

    总之,基于Java的JA-SIG CAS是一个强大且灵活的单点登录解决方案,它为开发者提供了在多个应用之间实现统一身份验证的便捷途径。通过理解其工作原理和实施步骤,可以有效地提升企业或组织的网络安全性和用户体验。

    Java单点登录系统 JA-SIG CAS.7z

    总之,Java单点登录系统JA-SIG CAS是构建安全、便捷的身份验证解决方案的重要工具,对于提升企业或组织内部的信息系统管理效率具有显著价值。通过学习和实践,开发者可以深入了解SSO的工作原理,并将其应用于实际...

    JA-SIG(CAS)学习笔记2.doc

    SSO(Single Sign On)单点登录是一种身份验证机制,允许用户在一次登录后即可访问多个相互关联的应用系统,无需为每个系统单独提供凭证。在Web环境中,这通常涉及到通过浏览器对多个B/S架构应用进行统一账户认证。...

    基于Java的实例源码-单点登录系统 JA-SIG CAS.zip

    这个压缩包“基于Java的实例源码-单点登录系统 JA-SIG CAS.zip”包含了一个完整的CAS服务器和客户端的源代码,可以帮助开发者理解和学习如何在Java环境中构建和集成单点登录系统。 首先,CAS的核心工作流程包括以下...

    java源码:Java单点登录系统 JA-SIG CAS.rar

    在这个名为"Java源码:Java单点登录系统 JA-SIG CAS.rar"的压缩包中,包含了实现CAS服务器端和客户端的相关源代码。 1. **CAS架构**: CAS的核心架构包括两个主要部分:CAS服务器和CAS客户端。服务器负责认证用户...

    Web单点登录系统JA-SIGCAS.zip

    JA-SIG CAS(Central Authentication Service)为Web应用系统提供了单点登录服务。它的特性包括:一个开放和具有很好文档支持的协议;一个Java开源服务器组件;提供多种类型的客 户端包括Java、.Net、PHP、Perl、...

    JAVA源码Java单点登录系统JA-SIGCAS

    Java单点登录系统JA-SIGCAS是一种基于Java语言开发的单点登录解决方案。单点登录系统,即Single Sign-On(SSO),是指用户登录一次即可访问其有权访问的多个系统资源。JA-SIGCAS是这种功能的一个实现,它遵循JA-SIG...

    小程序 Java单点登录系统 JA-SIG CAS(源码).rar

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    java资源Java单点登录系统JA-SIGCAS

    java资源Java单点登录系统 JA-SIG CAS提取方式是百度网盘分享地址

    Java单点登录系统 JA-SIG CAS源码

    Java单点登录(Single Sign-On, SSO)系统是一种允许用户通过一次登录验证即可访问多个应用系统的身份认证机制。JA-SIG CAS(Central Authentication Service)是开源社区开发的一个基于Java的SSO解决方案,广泛应用...

    CAS单点登录操作文档

    CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点: • 开源的企业级单点登录解决方案。 • CAS Server ...

    java-cas单点登录服务端

    CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点: 开源的企业级单点登录解决方案。 CAS Server 为需要...

    SSO单点登录Spring-Security & CAS

    ### SSO单点登录Spring-Security & CAS 使用手册 #### 1. 引言 ##### 1.1 概述 ###### 1.1.1 单点登录介绍 单点登录(Single Sign-On,简称 SSO)是一种流行的用于企业业务整合的解决方案,其核心优势在于简化了...

Global site tag (gtag.js) - Google Analytics