问题描述:我重写了defaultTicketRegistry,用redis存储Token,我先把浏览器端的JsessionID删除,让cas-client端的session失效,这样cas-client就会重新携带TGC到cas-server端进行验证获取TGT,按理说我重启cas-server对获取TGT应该没影响呀,因为它是存储在Redis中的,redis中的token依然存在,为什么根据TGC就是获取不到TGT呢?追踪源码也没搞清楚,请高手指教!!!

解决方案 »

  1.   

    你如果把浏览器端的cookie删除了的话,那肯定是要重新登录的啊。这跟服务器端也没啥关系啊。我虽没有用过你说的这个单点登录框架,但是不管用什么框架,你浏览器cookie都删除了,服务器肯定也不知道你是谁了。
      

  2.   

    你client的cookie是跟服务端的token对应的,客户端cookie改变了,服务端就找不到对应的token了,就需要重新登陆
      

  3.   

    你确定没把cas要用的cookie给删掉?
      

  4.   

    cas-server中的TGT是存放在redis中的,重启cas-server并不会删除redis中的TGT
      

  5.   


    TGC会存cookie的,不然服务端如何知道客户端到底是谁登录的呢
    以前觉得CAS用的WebFlow不好使,用springmvc重写了CAS(一部分)