1、每次用户通过浏览器访问CAS client1保护的web1应用时,定向到CAS Server验证登陆,用户机器与CAS Server之间建立会话session,cas server产生ST1并定向用户回cas client1,假设用户通过了CAS server认证(login)和验证(vaildation)操作,完成了对web1的访问。如果用户后重新打开一个浏览器(在前一个TGC未过期的情况下),访问cas client2保护的web2应用,在定向到cas server验证时,用户与cas server之间应该是建立新的session,那么cas server产生的ST2应该和第一次的ST1不同,此时应该必须重新在cas server登录。我的理解应该是对的吧,意思是在单点登录的过程中sessionid是不能变的,所以在集成的portal入口中应该采取div嵌入iframe框架,把多个web应用入口都集成到一个登录页面下,对否?
2、关于CAS Server验证扩展的问题。我们知道在cas server(validation)验证通过后,cas client能通过session.getAttribute("edu.yale.its.tp.cas.client.filter.user")获得在cas server登录的用户名。如果我现在不想破坏cas client后的web应用的权限控制,我的想法是应该建立一个cas server登录用户与web应用用户之间的账号映射吧。直接在数据库中创建一个表,建立cas server用户与web用户的映射关系,这个验证扩展应该是对casfilter类进行修改吧,还有这个扩展验证从数据库中取得的web应用已有的用户名密码如何传递给web应用,各位大虾能否提供点思路,最好能有简单代码的实现,或者你觉得这种扩展验证还有其他更好的办法也希望不吝赐教!
非常谢谢,希望对cas比较熟悉的daxia解答下。