我先按我的理解描述一遍过程:约定:S为CAS服务器  C为受S保护的Web应用  P为C中受保护页面过程:
1.用户向P发出请求
   C上的CAS客户端首先检查session是否已登录,若已登录,则允许访问;
   若session未登录,则检查URL中是否带有Service Ticket,若无,则跳转到S登录页面
2.用户与S交互,填写登录信息并登录成功,S返回跳转响应头,并写包含TGT的cookie
3.浏览器跳转到P(此时URL还有ST)
4.回到步骤1,我的疑问也在这里产生疑问:
  用户登录以后C怎么获得用户名的呢? 如果说通过ST向S获取,那么获取方式是什么?http协议?我用HttpAnalyzer分析的结果是,始终无法看到C向S发出的http请求.说明:CAS Server的版本是3.* ,CAS Client的版本是3.*

解决方案 »

  1.   

    用户合法登陆后可以把用户名密码放到session或者缓存中。当然这个需要做特殊处理,比如sessionid是唯一的,他可以关联一个用户名。
    我认为这样可以
      

  2.   


    我何偿没有用firebug
    但firebug有一个限制,就是跳转后显示的新的页面的
      

  3.   

     说明一下,ls好几位都在说解决方案,其实cas就是解决方案,
    我现在不明白的就是原理,因为没发现那个获得用户名的请求 
      

  4.   

    但firebug有一个限制,就是跳转后显示的新的页面的
    LZ你肯定没用好firebug
    新页面上肯定有request和response信息。
      

  5.   


    你可能没明白我的意思1.你向服务器发一个请求
    2.服务器回发一个跳转响应
    3.firefox就跳转到另一个url了,firebug自然就没有跟过去了