activiti-explorer与cas结合实现伪单点登录
来源:互联网 发布:台湾人用淘宝吗 编辑:程序博客网 时间:2024/06/09 19:07
最近项目需要将activiti-explorer设计器实现单点登录,手头只有activiti-explorer的war包,所以决定使用比较简单的方式实现伪单点登录。
cas服务端的配置不在这个文章范围,本文章只写cas的client与activiti-explorer结合。
1.在activiti-explorer的web.xml配置cas代码
<listener> <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> </listener> <filter> <filter-name>singleSignOutFilter</filter-name> <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> </filter> <filter-mapping> <filter-name>singleSignOutFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>CASAuthentication Filter</filter-name> <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> <init-param> <param-name>casServerLoginUrl</param-name> <param-value>http://192.168.1.110:8080/cas/login</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>http://192.168.1.144:8080</param-value> </init-param> </filter> <filter> <filter-name>CASValidation Filter</filter-name> <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class> <init-param> <param-name>casServerUrlPrefix</param-name> <param-value>http://192.168.1.110:8080/cas/</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>http://192.168.1.144:8080</param-value> </init-param> </filter> <filter> <filter-name>CASHttpServletRequest Wrapper Filter</filter-name> <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class> </filter> <filter> <filter-name>CASAssertion Thread Local Filter</filter-name> <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class> </filter> <filter-mapping> <filter-name>CASAuthentication Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CASValidation Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CASHttpServletRequest Wrapper Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CASAssertion Thread Local Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
2.加入cas的jar包,这一步完成后启动项目,就可以完成先过cas登录页权限了,但跳到activiti-explorer登录页面后还需要手动登录。
3.完成activiti-explorer自动登录,简单思路:activiti-explorer在后台代码中获取到cas的用户名,进行判断,如果正确进入系统,前提条件是得实现登录按钮自动点击。
4.activiti-explorer使用的是vaadin框架,所以它的登录页面并不是jsp,而是纯java代码拼接而成,也就是在服务器端实现了jsp页面。但是activiti-explorer只有war包,所以需要对war包的class进行反编译。
5.反编译之后在ExplorerLoginForm.java类中添加拼接的js语句。
在h后添加document.getElementById('auto').click();需要在登录按钮加一个id值auto。这一步实现自动点击。
6.获取cas用户名,用request.getRemoteUser();来获取cas的用户名。cas是将HttpServletRequest对象再包装一次,包装成HttpServletRequestWrapperFilter,使其支持getUserPrincipal,getRemoteUser方法来取得登录的用户信息。如果是新建Spring的request,并不能直接获取到cas的用户名,所以需要在原activiti的request中获取到后传到Spring的request中。
7.判断CasUser的值是否是数据库中有权限的用户,然后执行activiti-explorer登录代码。
- activiti-explorer与cas结合实现伪单点登录
- shiro结合cas实现单点登录
- cas实现单点登录
- cas 实现单点登录
- CAS 实现单点登录
- cas实现单点登录
- CAS实现单点登录
- cas实现单点登录
- 单点登录----->cas实现单点登录
- Tomcat实现CAS单点登录
- cas+ldap实现单点登录
- CAS 实现的单点登录
- jmeter实现cas单点登录
- Shiro & CAS 实现单点登录
- CAS实现SSO单点登录
- Shiro & CAS 实现单点登录
- CAS 实现单点登录SSO
- CAS实现单点登录细节
- 重写Listview中子View显示不全的问题
- DES、AES加密
- MYSQL手把手教你安装和配置OGG,并实现单向DML复制技术
- oracle 5种b*树索引扫描方式
- 安卓取图片(一)进入相机
- activiti-explorer与cas结合实现伪单点登录
- 【状压DP】【cofun1040】混乱奶牛
- Block LevelVerification Flow
- git获取指定的远程分支
- 2016最流行的Android组件、工具、框架大全
- 每秒钟执行一次一个函数
- workers.properties配置详解
- 推导公式中的arg min,arg max的含义
- LeetCode 43 Multiply Strings(高精度乘法)