• (三)SSO之CAS框架单点退出,退出到CAS登录界面


           应需求的改变、CAS自己定义登录页面不安全,不再使用,于是我一下子回到了原点。在linux上部署上了没有加自己定义登陆界面的CAS,接下来開始改动CAS自己默认的登录界面为我们的界面。

           一下子改动成功是根本就不可能的,于是删一点cas的源代码的东西。看看效果,然后再删除一些不必要的东西。看看效果,再加上自己系统登录界面的样式,就这样一步步的做成自己系统登录界面的样式,登录界面完成后就是,CAS默认的登出界面了。

           登出界面的要求。在登出的时候返回到登录的主界面,就去改动了CAS的登出的界面了。

           有非常多类似的文章去改动到自己自己定义的登出界面。但对于使用统一的界面登录。 这种方法貌似就不行了,并且即使能转到登录界面,可是在登录的时候,也不是自己想要跳转到的系统界面。针对这个问题进行思考发现,之所以在第一次登录的时候能转到主界面的原因是,在第一次登录的时候地址后面会携带这登录后要进入系统的地址,https://xx.com:8443/cas/login?

    service=http%3A%2F%2F172.16.3.199%3A8080%2Fsecurity%2F。这样我也能够仿照他来搞一个,与是在cas的caslogoutview.jsp 中加入了js跳转功能,在载入登录页面的时候,直接依据传递来的系统參数, 是哪个系统,让他跳转到相应的系统登录。改动的cas登出界面代码例如以下所看到的,casloginoutView.jsp code

    <!-- xx add 2014/ 7/ 15/ 20:11:05 add -->
    <!-- 依据url跳转到不同系统的登录界面. -->
    <script language="javascript"  type="text/javascript"> 
    
    window.onload=function()//用window的onload事件,窗口载入完成的时候
    {
       //do something
       var result = location.search.match(new RegExp("[?&]" + 'systemId'+ "=([^&]+)","i"));  
    	if(result == null || result.length < 1){  
    	 //return "";  
    	 result ="";
    	}  
      //alert(result[1]);
     //return result[1];
    
    	if("security"==result[1]){
    		//alert("dfdfsdfasdfasdfasdf");
    		window.location.href="https://www.xx.com:8443/cas/login?

    service=http%3A%2F%2F172.16.3.199%3A8080%2Fsecurity%2F"; }else{ window.location.href="https://www.xx.com:8443/cas/login?service=http%3A%2F%2F172.16.3.199%3A8080%2Fvms2.0%2Fuser%2FtoMain%2F"; } } <!--封装为函数,也能够直接调用.--> function getQueryStringByName(name) { var result = location.search.match(new RegExp("[?&]" + name+ "=([^&]+)","i")); if(result == null || result.length < 1){ return ""; } alert(result[1]); return result[1]; } </script>


            CAS然后再在自己的系统登出地址上加上參数,比如,我的系统是https://www.xx.com:8443/cas/logout?systemId=security,这样就不会出现跳转到的是同一个地址,和跳转到登录页面登录进入发现不是自己想要的界面了。


           CAS搞了有些时日了,总是在不断地改进。当向前进一步的时候。你会发现新的问题又会出现了,问题不断出现。需求也不断改,貌似假设不搞CAS源代码的话,就根本别想能痛快的用了。你哥~

  • 相关阅读:
    MongoDB副本集replica set(四)--成员配置
    MongoDB副本集replica set(三)--添加删除成员
    MongoDB副本集replica set (二)--副本集环境搭建
    MongoDB副本集replica set (一)--基础知识
    MongoDB文档(二)--查询
    MongoDB文档(一)--插入、更新、删除
    MongoDB主从复制(master-->slave)环境搭建
    终于,病毒向我伸出了魔爪......
    若感染病毒的是你,你又该如何?
    面试官:换人!他连哈希扣的都不懂
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6790225.html
Copyright © 2020-2023  润新知