首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

CAS(单点登陆)-总结一

2013-01-26 
CAS(单点登陆)---总结一单点登录(sso)是指基于用户/会话认证的一个过程,用户只需一次性提供凭证(仅一次登

CAS(单点登陆)---总结一

单点登录(sso)是指基于用户/会话认证的一个过程,用户只需一次性提供凭证(仅一次登录),就可以访问多个应用。??

?

?一, 最近一段时间公司进行系统整合,公司决定采用yale cas 单点登录进行整合,在这里对在项目整合中遇到的问题进行总结:

??1,到官方上下载CAS2.x服务器改名为ssoAuth

?

??2,以ssoAuth/login为所有系统的登录页,对每个系统进行配置,配置如下:

 可查看这篇文章:http://129-cat-163-com.iteye.com/blog/477506

?

 3,在登录之后,遇到一个问题,就是重新刷新又回到登录页(在登录之后会产生一个CASTGC的cookie)

 解决:

更改ssoAuth/WebContent/spring-configuration/ticketGrantingTicketCookieGenerator.xml中的  p:cookiePath="/ssoAuth"?和warnCookieGenerator.xml中的p:cookiePath="/ssoAuth" 因为更改了登录名之后,cookie path设置的值没有相应的改变..在验证时获取不到castgc的cookie

?

??4,不跳转到ssoAuth/login下每一个系统都自定义登录页,

 可查看这这里面的三篇文章:http://hi.baidu.com/fallenlord/blog/item/ecaa5f263e52cf0b908f9d21.html

?

??5,代理问题

 代理可解决的问题:

  当一个系统1要去取另一个系统2的数据时,两台不在同一台电脑上,而这两个又被同时都加到单点登录中,这时当你1系统已经登录要去取2系统的数据时,而2系统还没有登录,这时取不到数据??

这时候代理就派上用场.代理票据的产生

http://www.blogjava.net/security/archive/2006/04/26/SSO_CASProxy.html

 解决:

 可先查看这篇文章http://fallenlord.blogbus.com/logs/57175888.html 

 再以下详解:

 在ssoProxyClient(代理端) ssoProxyBackClient(被代理端) ssoAuth上都要进行配置,

 ssoAuth:在整合时发现一个问题,查找源代码,客户端配置正确而不返回代理票据

 deployerConfigContext.xml下配置

?

    ? 代理端与被代理端都要进行配置(配置较长,不一一介绍)有需要留下联系地址,我发过去...

    ?

    7,代理性能问题解决:

     如以上问题所述,系统2变成了被代理的系统,代理系统1每次要到被代理服务器去取一次票据之后,传到系统2去,这时系统2也要到服务器去取下验证的代理票据,进行比对,,

    这样一来,每次都要与服务器通信两次,,,性能耗费很大,在不考虑安全性的前提下,可以对双方进行保存一个票据,这样一来,不管访问多少次,只在服务器通信了两次.

    我对以上的代理与被代理系统进行了扩展,,一样)有需要留下联系地址,我发过去...

    ?

    8,客户端可以返回更多的用户数据,这个有两处要进行配置

     以下提供一个较完整的deployerConfigContext.xml的配置,一般有用到都在这里面

     <?xml version="1.0" encoding="UTF-8"?>

      --->看下一章节

      ?

      ?

      来自:http://www.iteye.com/topic/625961

      1 楼 jfeimao 2012-07-12   credentialsToPrincipalResolvers

      如果我要配置多个用户库怎么配置?
      org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver

热点排行