WeX5与CAS集成
摘要:当前文档主要描述X5作为CAS客户端实现单点登录能力。
第一步:配置CAS服务器
参考:http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/
第二步:配置CAS客户端(X5服务器)
1. 导入相应的证书至X5服务器所用的jdk中(%JUSTEP_HOME%\java\jdk\jre\lib\security)
参考:http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/
2. 在X5的UIServer部署CAS Client资源和X5的CAS资源
将CAS客户端casclient.jar和X5与cas相关的x5-cas.jar复制到%JUSTEP_HOME%\runtime\UIServer\WEB-INF\lib目录下。
3. 配置CAS Filter和NTLoginFilter
修改%JUSTEP_HOME%\runtime\UIServer\WEB-INF\web.xml中的配置,添加以下内容
<filter> <filter-name>CAS Filter</filter-name> <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> <param-value>https://test-dev.justep.com:8443/cas/login</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> <param-value>https://test-dev.justep.com:8443 ... lt;/param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> <param-value>192.168.1.88:8080</param-value> </init-param> </filter> <filter-mapping> <filter-name>CAS Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>NTLoginFilter</filter-name> <filter-class>com.justep.filter.NTLoginFilter</filter-class> <!-- 以下参数表示url映射, 即如果访问的url是param-name, 将会重定向到param-value指向的页面 --> <init-param> <param-name>/UI/portal/login.w</param-name> <param-value>/portal/index.w</param-value> </init-param> <init-param> <param-name>/UI/portal2/process/portal/login.w</param-name> <param-value>/UI/portal2/process/portal/index.w</param-value> </init-param> </filter> <filter-mapping> <filter-name>NTLoginFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
4. 更新UI模型资源(针对5.3之前的版本)
将以下文件
/UI/portal2/process/portal/dsrc/ChangePassword.java
/UI/portal2/process/portal/dsrc/DoLogout.java
/UI/portal2/process/portal/dsrc/Index.java
中的request.getParameter(“bsessionid”)替换成NetUtils.getBSessionID(request)
修改“注销”的实现(搜索UI下使用”login.w”的js文件)
/UI/portal/system/js/portal.js if (!window.Light.portal.logout) window.Light.portal.logout=function(){ window.location.href = "about:blank"; }; /UI/portal/x5/js/ext.js $("#main_btn_ext").click(function(){ window.location.href = "about:blank"; }); /UI/portal2/process/portal/index.js $("#logout").click(function(){ if (confirm("请您注意,是否打开的功能都保存了,关闭系统将导致没有保存的数据丢失!\r\r您确定要退出吗?")){ logout(); window.location.href = "about:blank"; } }); logout: function(){ logout(); window.location.href = "about:blank"; }
将附件中的Index.java替换/UI/portal/dsrc/Index.java
5. 测试
方式一:通过X5登录系统
浏览器中输入http://localhost:8080/x5时,会自动切换到CAS的登录界面;登录成功后,后自动切换到http://localhost:8080/x5/UI/ portal2/process/portal/index.w
方式二:通过其它系统登录,在其它系统中打开X5某个功能页面
通过其它系统登录过,可以在其它系统中通过iframe或弹出对话框的方式,打开X5的功能页面,只需要设置src为X5的功能页面,例如打开任务中心:
http://x5.justep.com:8080/x5/SA/ … vity&language=zh_CN
-
本文由WeX5君整理,WeX5一款开源免费的html5开发工具,H5 App开发就用WeX5!
阅读其他app 开发相关文章:http://doc.wex5.com/?p=3443
评一波