本帖最后由 hecr 于 2014-10-20 14:41 编辑
X5与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> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> </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的功能页面,例如打开任务中心:
|