致远OACIP统一认证-CAS认证配置与单点登录

一、CAS认证架构

图表

二、CAS认证流程

2.1 PC端认证流程

图表

2.2 移动端M3认证流程

图表

三、CAS服务搭建

3.1 下载CAS服务

以CAS 4.0.0版本为例,从GitHub下载CAS服务:

3.2 部署CAS到Tomcat

第一步:解压并部署

cas-server-webapp-4.0.0.war 放到Tomcat的 webapps 目录下,重命名为 cas.war

第二步:修改Tomcat端口

打开 conf/server.xml,修改端口防止冲突:

<Connector port="8081" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

第三步:修改CAS配置文件

打开 webapps/cas/WEB-INF/cas.properties,修改服务端口:

cas.server.name=http://localhost:8081
cas.server.prefix=http://localhost:8081/cas

第四步:去除HTTPS认证(开发环境)

打开 webapps/cas/WEB-INF/deployerConfigContext.xml,增加参数:

<bean id="proxyAuthenticationHandler"
      class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
      p:requireSecure="false" />

第五步:添加CAS用户

deployerConfigContext.xml 中配置测试用户:

<bean id="primaryAuthenticationHandler"
      class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">
    <property name="users">
        <map>
            <entry key="admin" value="admin" />
            <entry key="user1" value="user1" />
        </map>
    </property>
</bean>

四、OA配置CAS过滤器

4.1 修改web.xml

打开 ApacheJetspeed/webapps/seeyon/WEB-INF/web.xml,将CAS过滤器相关配置注释放开:

<!-- CAS过滤器 -->
<filter>
    <filter-name>CAS Filter</filter-name>
    <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
    <init-param>
        <param-name>casServerLoginUrl</param-name>
        <param-value>http://localhost:8081/cas/login</param-value>
    </init-param>
    <init-param>
        <param-name>serverName</param-name>
        <param-value>http://localhost</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>CAS Filter</filter-name>
    <url-pattern>/caslogin/*</url-pattern>
</filter-mapping>

4.2 配置参数说明

参数说明
casServerLoginUrl CAS服务登录地址
serverName OA服务地址
filter-name 过滤器名称
url-pattern 需要CAS认证的URL模式

五、CAS开启REST服务

5.1 添加REST依赖

在CAS的 pom.xml 中添加REST依赖:

<dependency>
    <groupId>org.jasig.cas</groupId>
    <artifactId>cas-server-integration-restlet</artifactId>
    <version>${project.version}</version>
    <scope>compile</scope>
</dependency>

5.2 添加JAR包

将以下JAR包添加到CAS服务的 lib 目录:

JAR包说明
cas-server-integration-restlet-4.0.0.jar CAS REST集成包
org.restlet-2.1.0.jar Restlet核心包
org.restlet.ext.spring-2.1.0.jar Restlet Spring扩展
org.restlet.ext.slf4j-2.1.0.jar Restlet日志扩展
org.restlet.ext.servlet-2.1.0.jar Restlet Servlet扩展
cglib-full-2.0.2.jar CGLIB字节码库

5.3 配置REST Servlet

在CAS的 web.xml 中添加REST Servlet配置:

<servlet>
    <servlet-name>restlet</servlet-name>
    <servlet-class>org.restlet.ext.spring.RestletFrameworkServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>restlet</servlet-name>
    <url-pattern>/v1/*</url-pattern>
</servlet-mapping>

六、OA配置CAS服务

6.1 配置入口

路径:管理员后台 → CIP集成平台 → 统一认证 → CAS认证

6.2 配置参数

参数说明必填
CAS服务地址 CAS服务的访问地址(注意:是服务地址,不是登录地址
启用CAS认证 是否启用CAS认证
服务地址 OA服务地址

6.3 配置界面

图表

6.4 配置注意事项

重要提示:配置的是CAS服务地址,不是登录地址!

  • 正确配置:http://localhost:8081/cas
  • 错误配置:http://localhost:8081/cas/login

七、重启服务

配置完成后,需要重启OA服务和CAS服务:

图表

八、登录验证

8.1 PC端登录

访问地址http://localhost/seeyon/caslogin/sso

登录流程

图表

8.2 移动端M3登录

移动端服务器配置不需要变更,直接使用CAS用户名密码登录即可。

8.3 管理员特殊登录

管理员用户可以直接在原OA地址输入原OA用户名密码登录:

访问地址http://localhost/seeyon

其他普通用户必须输入CAS用户名密码,通过CAS认证跳转才能登录。

九、退出登录

9.1 PC端退出

如果登录的是CAS 4.0版本,退出A8需要让portal执行以下地址:

http://CAS服务地址/cas/logout?service=A8服务地址/seeyon/caslogin/sso

示例

http://localhost:8081/cas/logout?service=http://localhost/seeyon/caslogin/sso

9.2 退出注意事项

退出后建议清除浏览器缓存并关闭浏览器,避免Cookie残留导致的登录问题。

十、压力测试注意事项

10.1 关闭CAS配置

如果客户要做压力测试,必须关闭CAS配置,否则会压测失败!

10.2 压测配置

图表

10.3 压测建议

建议项说明
单独压测 将CAS认证和OA业务分开压测
模拟用户 使用真实的CAS用户进行压测
监控指标 监控CAS服务响应时间和并发数
资源配置 确保CAS服务器有足够的资源

十一、CAS认证常见问题

11.1 登录页面无法访问

现象:访问CAS登录页面时出现404或500错误

排查步骤

检查项说明
Tomcat状态 检查Tomcat是否正常启动
端口配置 检查Tomcat端口是否正确
部署路径 检查CAS是否正确部署到webapps目录
日志查看 查看Tomcat日志,定位错误原因

11.2 OA无法重定向到CAS

现象:访问OA CAS登录入口时,无法重定向到CAS登录页面

排查步骤

检查项说明
web.xml配置 检查CAS过滤器配置是否正确
CAS服务地址 检查CAS服务地址是否可达
网络连接 检查OA服务器是否能访问CAS服务器
端口开放 检查CAS服务器端口是否开放

11.3 登录后无法跳转回OA

现象:CAS登录成功后,无法跳转回OA

排查步骤

检查项说明
serverName配置 检查web.xml中serverName是否正确
OA服务地址 检查OA服务地址是否可达
Ticket验证 检查CAS是否能验证Ticket

11.4 移动端无法登录

现象:M3移动端无法通过CAS认证登录

排查步骤

检查项说明
REST服务 检查CAS REST服务是否正常
JAR包 检查REST相关JAR包是否齐全
web.xml配置 检查REST Servlet配置是否正确
网络连接 检查移动端是否能访问CAS服务器

11.5 管理员无法直接登录

现象:管理员无法在原OA地址直接登录

排查步骤

检查项说明
登录地址 检查是否使用原OA地址登录
管理员权限 检查用户是否有管理员权限
CAS配置 检查CAS配置是否正确

十二、CAS安全建议

12.1 HTTPS配置

生产环境建议配置HTTPS:

图表

12.2 用户存储

生产环境建议使用数据库存储用户信息:

图表

12.3 安全加固

安全项建议
密码策略 设置强密码策略
登录失败限制 设置登录失败次数限制
会话超时 设置合理的会话超时时间
日志审计 开启登录日志审计
posted @ 2026-07-09 09:04  ai755  阅读(9)  评论(0)    收藏  举报