关于CAS单点登录的问题(急,求大侠帮忙)
我有一个(c/s)模式的Java客户端,点击一个按钮通过Cas的RESTful模式登录一个cas里的一个web客户端(类似qq面板打开qq邮箱),而登录的cas web客户端里面有一个iframe框架页,链接的是另外一个cas里面的客户端。现在的情况是点击以后成功登录了web客户端,而web客户端里的iframe框架页里面的另外一个客户端始终是没有登录的状态。请问各位大侠有什么好的解决方案没有?如果我是直接在浏览器登录web客户端 iframe里的另外一个客户端也登录成功了。是不是cas RESTful模式登录只能是请求TGT时候带的那个地址才行? CAS --------------------编程问答-------------------- cas应该是拦截你的请求,之后生成一个随机token ,传给前台去登录,(c/s)模式的Java客户端,能被拦截么???
应用A:
1:cas往浏览器增加cookie(TGC)
2:cas同时创建一个ticket重定向到原来的cas客户端
3:Cas 客户端应用A的处理
4:收到ticket后,向cas提交验证ticket
5:ticket验证后创建session
用户进入应用B时,首先仍然会重定向到CAS服务器。不过此时CAS服务器不再要求用户输 入用户名和密码,而是首先自动寻找Cookie,根据Cookie中保存的信息,进行登录。然后,CAS同样给出新的ticket重定向应用B给cas验证(流程同应用A验证方式),如果验证成功则应用B创建session记录CASReceipt信息到session中,以后凭此session登录应用B。 --------------------编程问答-------------------- --------------------编程问答-------------------- c/s客户端就是没有Cookie的概念 所以用RESTful的方式去登录 获取TGC后加在web客户端的链接上,到cas认证后写入Cookie登录成功。现在情况是Web客户端里有一个框架页,也是一个web客户端。可是通过RESTful模式请求的TGC成功登录后写入的Cookie并没有共享给框架页里面的web客户端。 --------------------编程问答-------------------- 框架页指的是iframe? 怎么可能只要是浏览器中的cookie iframe中的也一定能获取吧,那估计你自己写入的cookie跟cas写入的不一样吧!! cas认证成功后会生成一个随机的token 你怎么获取的到?你人为的去写入cookie的话 要非常了解cas的原理跟源码吧
补充:Java , Java EE