前言:
本说明通过搭建基础本地cas服务实现,供参考。以cas4.0.0版本为例,不同版本可能会有差异。
CAS服务为一般为第三方提供,OA需要做的调整仅为7、9、10三步。
可以实现通过cas认证跳转oa服务,PC端和M3端都支持。
1.下载cas服务
https://github.com/apereo/cas/releases/tag/v4.0.0
cas-server-4.0.0-release.zip是现成的war包
2.解压cas-server-4.0.0-release.zip,在cas-server-4.0.0-release\cas-server-4.0.0\modules目录
下找到cas-server-webapp-4.0.0.war,放到tomcat的webapps目录下,重命名为cas.war。
3.修改tomcat的端口,防止端口冲突。
打开 conf\server.xml,找到下图位置并修改port.
4.修改cas的WEB-INF/cas.properties
和tomcat端口号保持一致。
5.去除http认证
修改cas的WEB-INF/deployerConfigContext.xml
增加参数 p:requireSecure="false"
如果需要https认证需要使用证书,这里不做阐述,可自行百度。
6.cas添加用户
修改cas的WEB-INF/deployerConfigContext.xml
7.OA配置过滤器,对请求进行单点登录的过滤 修改ApacheJetspeed\webapps\seeyon\WEB-INF\web.xml文件,将这部分注释放开。
8.cas开启rest服务,支持M3登录
首先添加jar包,可以通过源码自行打包生成,也可以手动加到cas服务的lib目录下。
pom依赖如下:
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-integration-restlet</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
所需jar包:
注:相关jar包可从GitHub下载获取。
cas-server-integration-restlet-4.0.0.jar
org.restlet-2.1.0.jar
org.restlet.ext.spring-2.1.0.jar
org.restlet.ext.slf4j-2.1.0.jar
org.restlet.ext.servlet-2.1.0.jar
cglib-full-2.0.2.jar cglib-nodep-2.2.jar
然后cas的web.xml需要加入
<servlet-name>restlet</servlet-name>
<servlet-class>org.restlet.ext.spring.RestletFrameworkServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<servlet-name>restlet</servlet-name>
<url-pattern>/v1/*</url-pattern>
9.重启oa服务和cas服务。
10.oa登录管理员用户,进入cas菜单,配置cas服务地址,选择启用,点击确定。
注意:这里配置的是服务地址!服务地址!!!不是cas的登录地址!
11.至此,配置完成
PC端的访问地址为http://localhost/seeyon/caslogin/sso
M3端的服务器配置不用变
管理员用户可以直接在原oa地址输入原OA用户名密码直接登录。
其他普通用户必须输入cas用户名密码,通过cas认证跳转才能登录。
注意:如果登录的是CAS4.0版本,如果要退出A8,需要让portal执行这个地址:http://CAS服务地址/cas/logout?service=A8服务地址/seeyon/caslogin/sso,
退出后最好清除缓存、关掉浏览器。