SSO接口文档
注释:CAS(Central Authentication Service)
备注:其中的浅兰色的文件,可以在SVN的“/工作管理/SSO相关文件“路径下可以找到。
一、 在tomcat的conf/server.xml文件中加入SSL协议,配制代码如下:
<Connector protocol="org.apache.coyote.http11.Http11Protocol"
port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="conf/.keystore" keystorePass="changeit"
truststoreFile="/urs/java/jdk1.6.0_23/jre/lib/security/cacerts"
clientAuth="false" sslProtocol="TLS"/>
说明:红色部分设置为当前服务器的JDK路径。(如果是使用公司统一配制好的tomcat则不用修改)
二、 替换https加密协议证书的相关文件(请先备份原有的文件):
1. 当在公司服务器上布署时,可以使用ant脚本“replaceAll.xml”添加”.keystore”和替换”cacerts”这两个文件:
l 首先要将上面的两个文件放到当前要打包的应用系统的工程中,例如:
WEB-INF/目录下的ext文件夹下。
l 然后使用ant脚本”deploy_create.xml”将以上两个文件打入zip包中,脚本代码片断如下:
<target name=”copyDeploy”depends=”init”>
<echo>拷贝执行部署需要的ant脚本</echo>
<copy todir=”${rarDest}${DSTAMP}${TSTAMP}”>
<fileset dir=”../../WebContent/WEB-INF/ext”>
<include name=”*”/>
</fileset>
</copy>
</target>
l 在服务器的usr/local/tomcat/conf路径下添加”.keystore”文件
l 在服务器的usr/java/jdk1.6.0_23/jre/lib/security路径下替换“cacerts”文件
2. 如果是自己本机上的应用系统要与单点登录联调,可以手工添加本机tomcat路径的conf目录下的“.keystore”和替换本机jdk路径下“jre/lib/security”目录下的“cacerts”文件
三、 将单点登录应用端的相关jar包拷到应用系统的lib文件夹中,单点登录相关jar包文件名如下(如果系统中已经有的jar包不用添加):
casclient.jar (应用系统端单点登录核心jar包)
commons-logging-api.jar
junit.jar
mockrunner.jar
servlet.jar
四、 在应用系统工程的web.xml文件中加入单点登录过滤器,配制代码如下:
<filter>
<!-- 单点登录过滤器 -- >
<filter-name>CASFilter</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>
<!-- 重定向单点登录的登录页面。 ssoi.uyunke.com:8443是单点登录的域名和端口号 -- >
<param-value>https://ssoi.uyunke.com:8443/cas/login</param-value>
</init-param>
<init-param> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<!--重定向单点登录的校验 -- >
<param-value>https://ssoi.uyunke.com:8443/cas/proxyValidate</param-value>
</init-param>
<init-param> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<!--应用端的主机名和端口号。需要改为当前应用系统的域名和端口号。-- >
<param-value>ls:8080</param-value>
</init-param>
<init-param> <param-name>edu.yale.its.tp.cas.client.filter.wrapRequest</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!--这里是配制应用端要过滤的路径-- >
<filter-mapping>
<filter-name>CASFilter</filter-name> <url-pattern>/*</url-pattern>
</filter-mapping>
关于不通过单点登录过滤器的说明:
l 这与要过滤路径的配制有关,所以只需要将要过滤的东西放在一个路径下;而那些不需要的过滤的东西放在另一个路径下。这样在配制过滤路径时只配制上要过滤的路径就可以了,如只过滤html路径下的文件:/html/*。
l 过滤路径不支持通配符加后缀名的格式如:/html/*.jsp
l 配制的过滤路径不能与其它过滤器的过滤路径相同,否则会产生冲突。
l CAS过滤器只会过滤页面,所以要创建struts2的拦截器,拦截直接访问Action的URL(*.action),如果usrId为空则转向登录应用系统的ssologin.jsp页面(拦截器的文件名为“IsLoginInterceptor.java”)
五、 当用户正确登录后会转向用户登录的Action,当在Action中要取得当前正确登录单点登录的用户ID时,通过如下代码取得userId:
l 第一种方法:
session.getAttribute("edu.yale.its.tp.cas.client.filter.user");
l 第二种方法:
import edu.yale.its.tp.cas.client.filter.CASFilter;
session.getAttribute(CASFilter.CAS_FILTER_USER);
备注:上面两种方法会得到一个Object类型的userId,可以强制转换成String类型
六、 应用系统将原有的登录页面改为单点登录页面的改造如下:
l 将原有的jsp登录页面改为:只作转向登录数据处理的Action中的方法。如:“ssologin.jsp”,其中“window.location.href=”后面改为自己登录数据处理的Action路径。
七、 当应用系统需要设置用户登出的超链接时:
1. 因为使用的是CAS应用系统端的自定义标签,所以首先要把cas.tld文件复制到应用系统的WEB-INF目录下,在web.xml中注册cas.tld文件代码如下:
<jsp-config>
<taglib>
<taglib-uri>cas</taglib-uri>
<taglib-location>/WEB-INF/cas.tld</taglib-location>
</taglib>
</jsp-config>
说明:红色部分修改为WEB-INF目录下存放cas.tld文件的目录。
2. 将logout.jsp文件拷到当前应用系统的工程中(这个jsp页面可以不用通过CAS过滤器),关键代码如下:
例子:<cas:logout
var="edu.yale.its.tp.cas.client.filter.user"
logoutUrl="https://ssoi.uyunke.com:8443/cas/logout?service=http://my.app.com:8080/testssob/html/test2.jsp"
scope="session"/>
代码说明:
l 其中红色部分修改为登录当前应用系统的jsp的URL路径;
3. 在要加入登出的地方加入如下代码:
<a href="<eaglelink:contextpath/>/html/logout.jsp">登出</a>
代码说明:
l <eaglelink:contextpath/>是上下文路径
l 红色部分为上面创建的logout.jsp页面的路径
八、 关于任一应用系统与单点登录联调时的域名的配制,分为两种情况:
1. 本机应用系统与任意一台机器上布署单点登录服务联调时的配制:
l 配制单点登录服务和当前调试应用系统的域名与IP的映射(因为单点登录所有的配制都是通过域名来访问的),在“C:\Windows\System32\drivers\etc“目录下的hosts文件中配制域名与IP的对应关系,例如:
192.168.118.88 ssoi.uyunke.com ß单点登录域名
127.0.0.1 my.app.com ß当前要联调的应用系统域名(根据自己应用系统的域名修改),“127.0.0.1”这个是默认本机的IP,也可以使用本地网络联接属性中设置的IP。
2. 本机应用系统与公司服务器上布署的单点登录服务联调的配制:
l 因为服务器上的单点登录服务域名已经配制好了,所以只需要配制本机要联调应用系统的域名,在“C:\Windows\System32\drivers\etc”目录下的hosts文件中配制应用系统域名与本机IP的对应关系,例如:
127.0.0.1 my.app.com ß当前要联调的应用系统域名(根据自己的应用系统的域名修改)
分享到:
相关推荐
REST(Representational State Transfer)API是H3C CAS系统提供的一种接口方式,用于允许外部应用程序与CAS系统进行交互,实现系统的集成和二次开发。通过REST API,开发者可以远程操作和管理H3C CAS中的各种资源,...
### SSO CAS Server 二次开发说明文档 #### 环境搭建 为了便于进行二次开发,推荐使用Maven overlays特性来构建开发环境。这样可以利用最新版本的资源文件覆盖现有WAR包中的文件,无需手动导入整个`cas-server-...
《Public APIs》文档则详细列出了CAS提供的公共API接口,这些接口可供开发者用来扩展CAS功能或者与其他系统集成。例如,API可能包含用户认证、服务票证验证、代理票证生成等功能。理解并掌握这些API,开发者可以更...
本文档将详细介绍如何在.NET系统中集成CAS,以实现单点登录功能。 #### 二、准备工作 在正式集成之前,需要确保已经具备以下条件: 1. 已安装并配置好.NET开发环境。 2. 已拥有CAS服务器并已正常运行,能够提供单点...
同时,CAS还提供了丰富的API和SPI接口,允许开发者自定义认证处理逻辑、服务验证策略等。 **规划与设计** 在实施CAS4.2.7前,"planning"章节会帮助你理解系统架构和设计决策。内容可能包括: 1. **服务注册**:...
总结来说,CAS单点登录是一种有效的用户认证解决方案,而QQ和微博的第三方登录接口则为企业和网站提供了便捷的社会化登录方式。正确集成这些接口,能够提升用户满意度,同时简化登录流程,降低用户流失率。开发者...
本说明文档基于CAS Server 4.1版本进行,重点介绍在该版本上实现的一些关键功能与改动。 #### 二次开发主要内容 - **服务注册中心的自定义实现**:为了更好地管理参与单点登录的服务,项目中自定义了服务注册中心。...
1. **Web应用程序**:基于Servlet的Web应用,运行在Tomcat、Jetty等Servlet容器上,提供HTTP接口处理SSO登录请求。 2. **认证模块**:实现各种认证策略,如基于用户名/密码的认证、LDAP认证、数据库认证等。 3. **...
10. **文档编写**:为了便于其他开发人员理解和维护,需要编写详细的接口文档,包括接口设计、调用流程、参数说明等。 总之,长江养老CAS系统接口开发是一项涉及到安全认证、系统集成、源码理解和工具使用的复杂...
CAS(Central Authentication Service)是Java开发的一个开源项目,专为Web应用程序设计的SSO解决方案。在本资源中,您将找到一个已配置好的CAS服务器代码,适用于HTTPS环境,这意味着它可以提供安全的通信,防止...
本文档旨在提供CAS认证服务器接口的使用基础手册,帮助用户快速了解CAS认证服务器的接口使用方法和实现细节。 1. 企业介绍 CAS认证服务器是一种基于Java的认证服务器解决方案,用于提供安全的身份验证和授权服务。...
理解每个接口的功能、参数和返回值是进行有效集成的关键,开发者应详细阅读接口文档,以确保正确无误地调用相关服务。 **3. 请求参数说明** 在调用泛微OA的接口时,开发者需要提供一系列的请求参数。这些参数可能...
在本文档中,我们将介绍统一身份认证平台的集成接口文档,包括背景知识、CAS 的实现、JAVA 语言和 PHP 语言的实现细节。 1. 统一身份认证简介 统一身份认证平台的主要目的是为了提供一种通用的身份验证机制,使...
5. **定制化行为**: 可以通过实现CAS的接口或扩展其类来自定义行为,如自定义登录页面、错误处理和票证验证逻辑。 6. **单点登出(Single Sign-Out, SSO)**: CAS客户端还支持单点登出功能,当用户在CAS服务器上...
这个压缩包包含的是CAS服务器端API的3.5.3版本和CAS客户端核心组件3.3.3版本的CHM(Compiled Help Manual)文档。 `cas-3.5.3 api.chm` 文件提供了关于CAS服务器端API的详细信息。这个API是开发者构建和扩展CAS...
本文档详细介绍了如何安装和配置CAS6.0认证服务器接口,这对于开发人员来说是非常有价值的参考资料。此外,文档还提供了多个联系地址和电话号码,方便用户在遇到问题时寻求技术支持。 综上所述,CAS6.0认证服务器...
CAS协议3.0包含了多个关键组件和接口,每个组件和接口都有其特定的用途和参数,下面将详细介绍这些知识点。 首先,CAS协议3.0定义了一系列的统一资源标识符(URIs),这些URI用于处理用户登录、验证以及单点登出等...