cas 单点登陆
来源:互联网 发布:复旦大学有网络教育 编辑:程序博客网 时间:2024/05/18 13:12
1下载cas-server-3.5.2-release.tar.gz
cas-client-3.2.1-release.jar
2,ssl证书
(1)创建证书
这里使用JDK生成的证书,正式环境需购买专业提供商的证书
用JDK自带的keytool工具生成证书:
keytool -genkey -alias xiaokaceng -keyalg RSA -keystore d=:/cas/xiaokaceng
注意:您的名字与姓氏是什么? 一定要输入服务器域名
(2)导出证书
keytool -export -file d:/cas/xiaokaceng.crt -alias xiaokaceng -keystore d:/cas/xiaokaceng
(3)JVM导入证书
keytool -import -keystore D:\JavaDev\jdk1.7\jre\lib\security\cacerts -file d:\cas\xiaokaceng.crt -alias xiaokaceng
特别提示:
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
那么请输入密码:changeit
3,tomcat 配置
conf server.xml
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/home/lwq/zs/newzs" //密钥文件,第一步创建的密钥文件
keystorePass="123456" //第一步创建文件时设置的密码
/> 注:该部分在server.xml被注释掉了,去掉注释,加入最后两行
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
4,把cas-server-3.5.2-release.tar.gz解压,把解压文件夹下 modules/cas-server-webapp-3.5.2.war 拷贝到
tomcat/webapps下并改名为cas(改名为方便访问)
5,启动tomcat
访问https://localhost:8443如果成功,则ssl证书成功
访问
https://localhost:8443/cas成功,说明cas 服务端配置成功
7cas客户端配置
以tomcat自带的examples为例子
cas-client-3.2.1-release.jar 解压,把modules/cas-client-core-3.2.1.jar 以及 commons-logging-1.1.jar拷贝到
examples/WEB-INF/lib 下
并更改
WEB-INF/web.xml 配置
<!-- ======================== 单点登录开始 ======================== -->
<!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置-->
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<!-- 该过滤器用于实现单点登出功能,可选配置。 -->
<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<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>https://aohua:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://aohua:8080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>
org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>https://aohua:8443/cas</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://aohua:8080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--
该过滤器负责实现HttpServletRequest请求的包裹,
比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。
-->
<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>
org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--
该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。
比如AssertionHolder.getAssertion().getPrincipal().getName()。
-->
<filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- ======================== 单点登录结束 ======================== -->
- CAS单点登陆
- Cas单点登陆配置
- CAS单点登陆原理
- CAS 单点登陆
- CAS单点登陆实践
- cas 单点登陆
- shiro cas 单点登陆
- cas 4.0 单点登陆
- CAS 单点登陆配置
- CAS 单点登陆
- CAS 单点登陆
- CAS 单点登陆
- CAS 单点登陆
- CAS 单点登陆
- 单点登陆CAS
- SSO CAS单点登陆
- 用CAS实现单点登陆
- 单点登陆(CAS)学习
- Magic words in Python
- 一个程序员的告白:多年后,我才学会承认自己的无知
- 抽象类和关键字final
- MySQL启动错误:Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28)
- Linux下./configure错误详解
- cas 单点登陆
- 3.4-汉诺塔的栈模拟
- easyUI中PropertyGrid 设置不可编辑
- Java 多线程IO简单实用Demo
- Picture hdu 1828 扫描线
- 开发中遇到的一些小知识积累
- object-c笔记
- 花旗银行与友邦保险银保合作谋求共赢
- 向量空间模型(VSM)