CAS单点登录 AJAX 跨域提交

阅读更多

 

       一直以来网上很多高手使用CAS平台时被埋在了不允许外部提交这个死胡同里,大家也见招拆招,iframe方式,以及修改webflow等方式来解决,但是效果一般般,看资料的人更是一头雾水,照着弄80%的人失败。

         经过公司项目上需要,研究了一下,实际上cas还可以这样玩来实现外部表单提交也就是ajax提交方式。

       长话短说,我使用的是tomcat8+JDK1.7+cas4.0,理论上本方法兼容新老版本(需要对应调整截取)。首先在cas默认首页,右键源码可以看到以下信息


CAS单点登录 AJAX 跨域提交_第1张图片
 

lt和execution 这两个重要信息,其中execution 是随机码,提交数据后,系统会在后台去校验这个,

通过以下抓包,我们可以证明


CAS单点登录 AJAX 跨域提交_第2张图片       有了这些信息,我们就不用老想着去改cas来达到目的,我们有更好的办法,不动cas一点源码就能搞定ajax异步登录问题,

1.通过ajax获取CAS Login页面

2.得到Login页面后,解析出lt,execution等重要元素

3.再将这些信息post到login里面大功告成

 

贴上源码吧:

 

  
点这测试


 

 

         以上方式需要注意的是:截取信息时可能由于版本不一样,截取的位置不一样,如果报错建议输出看看是否对了。

 

         本页面记得要放在CAS根目录下,比如访问地址:

         http://localhost/cas/testpost.jsp

         然后就是你其他域的用户名密码只需要post到这个页面,让这个页面自动去提交就OK了!

         

 

 

 

 

 
  • CAS单点登录 AJAX 跨域提交_第3张图片
  • 大小: 13 KB
  • CAS单点登录 AJAX 跨域提交_第4张图片
  • 大小: 27.7 KB
  • 查看图片附件

你可能感兴趣的:(cas,cas4.0,单点登录,cas,ajax,cas,外部提交)