前言:

本说明通过搭建基础本地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,

退出后最好清除缓存、关掉浏览器。

创建人:chuhc
修改人:suyongjun、suyj

快速跳转