cas单点登陆系统-建立单点登陆系统的应用
上一篇如果已经操作成功,说明casServer已经实现了,下面就是搭建casClient与casServer联合调试。代码已经上传到github上。你可以下载看看,如果自己在搭建的过程中遇到问题,你也可以加我qq。
在github上,我创建了两个项目,分别是myCasServer,myCasClient。myCasClient是使用intellij idea搭建的maven,springmvc项目,下面是搭建的流程。
建立应用主要分下面三个部分:
1.1、添加cas-client-core-xxx.jar到pom.xml中 1.2、配置过滤器到web.xml 1.3、添加证书到信任库。
1.1、添加cas-client-core-xxx.jar到pom.xml中
<dependency>
<groupId>org.jasig.cas.client</groupId>
<artifactId>cas-client-core</artifactId>
<version>3.1.11</version>
</dependency>
1.2、配置过滤器
这里一共要配置4个,每个过滤器的作用可以参考:http://elim.iteye.com/blog/2142631,也可以自己下载源码看看。
<context-param>
<param-name>serverName</param-name>
<param-value>http://localhost:8080</param-value>
</context-param> <filter>
<filter-name>casAuthenticationFilter</filter-name>
<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
</filter> <filter>
<filter-name>casTicketValidationFilter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>https://localhost:8443/cas</param-value>
</init-param>
</filter> <filter>
<filter-name>casHttpServletRequestWrapperFilter</filter-name>
<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter> <filter>
<filter-name>casAssertionThreadLocalFilter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter> <filter-mapping>
<filter-name>casAuthenticationFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <filter-mapping>
<filter-name>casTicketValidationFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <filter-mapping>
<filter-name>casHttpServletRequestWrapperFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <filter-mapping>
<filter-name>casAssertionThreadLocalFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
1.3、添加证书到信任库:关于证书不懂的可以参考:http://blog.csdn.net/szzt_lingpeng/article/details/51247980
第一步:使用java自带keytool创建本地密钥库
keytool -genkey -alias tomcat -keyalg RSA
第二步:把密钥库导出成证书文件
keytool -export -alias tomcat -file "%JAVA_HOME%/jre/lib/security/tomcat.crt" -storepass yourpassword
第三步:将创建过的证书导入到java证书库
keytool -import -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file "%JAVA_HOME%/jre/lib/security/tomcat.crt" -storepass Awsdrain@ 附:
查看是否有重名的证书:
keytool -list -v -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
删除已经创建的证书:
keytool -delete -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
第一步:画红色一定要配置成域名,本地的配置成localhost。
第二步:
第三步:
验证:
将myCasServer与myCasClient打包部署到tomcat下。
注意,如果myCasServer的登陆方式没有改,那么就可以使用:用户名和密码一样的方式登陆,我的myCasServer登陆方式已经更改,需要创建数据库cas,并且添加表t_user,在里面添加用户名和密码的方式登陆。
CREATE TABLE `t_user` (
`username` varchar() NOT NULL,
`password` varchar() DEFAULT NULL,
PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
输入地址:localhost:8080/myCasClient/
验证截图顺序依次是:
cas单点登陆系统-建立单点登陆系统的应用的更多相关文章
- 用cas来实现php的单点登陆
最近项目中需要做单点登录,客户端包含Java.ruby和PHP,java有几个应用程序,php是discuz+supesite+ucenter,配置步骤如下: 1.cas服务端:下载地址:http:/ ...
- 多系统实现单点登录方案:SSO 单点登录
一.什么是单点登录SSO(Single Sign-On) SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用 ...
- 树莓派3b+ Ubuntu 16.04 MATA系统 ssh远程登陆后修改主机名、用户密码和用户名
写在前面: 刚刚开始写博客,记录下自己的学习过程,备忘. 最近在使用树莓派做智能小车的开发,使用的是树莓派3b+,安装的是Ubuntu 16.04 MATA 系统,安装系统后需要修改主机名,登陆密码以 ...
- 从其它系统登录到SharePoint 2010系统的单点登录
以前做的只是使用SharePoint的单一登录,用SharePoint去登录其他的系统,现在要反过来,用Form认证的系统来登录SharePoint. 我们都知道,SharePoint使用的是域认证系 ...
- 单点登录(一)-----理论-----单点登录SSO的介绍和CAS+选型
什么是单点登录(SSO) 单点登录主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这些系统中的任何一个,无须多次登录. 单点登录(Single Sign On),简称为 ...
- CAS 在 Tomcat 中实现单点登录
单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统 中,用户只需要登录一次就可以访问所有相互信任的应用系统.CA ...
- 【IBM】使用 CAS 在 Tomcat 中实现单点登录
来源: IBM Developer http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/ 张 涛 (zzhangt@cn.ibm.com ...
- 使用 CAS 在 Tomcat 中实现单点登录
单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.CAS ...
- cas 在.net 下的单点登录实现及 ,Net Mvc的接入
最近在研究单点登录,发现用的最广的就是cas了,查了下资料,发现有人写了详细的说明 地址:http://www.cnblogs.com/zhenyulu/archive/2013/01/22/2870 ...
随机推荐
- connect strings sql server
https://www.connectionstrings.com/sql-server/ Server=myServerAddress[,port];Database=myDataBase;User ...
- 替换SQL执行计划
Switching two different SQL Plan with SQL Profile in Oracle... 当SQL是业务系统动态生成的,或者是第三方系统产生的,在数据库层面分析发现 ...
- Spring+SpringMVC+mybatis+Quartz整合
Quartz与SpringMVC的整合 简介 Quartz是一个完全由java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制.Quartz允许开发人员根据时间间隔来调 ...
- Unicode、UTF-8 和 ISO8859-1
Unicode.UTF-8 和 ISO8859-1到底有什么区别 1.本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文" ...
- 管理型交换机IEEE 802.1Q VLAN设置应用实例
转载标注: IEEE802.1Q 我粗略理解为对交换机入口规则和出口规则设置,入口打上VID,设置从哪些口可以出去,并且是否带标签. 一 VLAN的概念 VLAN(Virtual Local Area ...
- 2018.09.17 bzoj1260: [CQOI2007]涂色paint(区间dp)
传送门 区间dp简单题啊. 很显然用f[l][r]f[l][r]f[l][r]表示把区间[l,r][l,r][l,r]按要求染好的代价. 这样可以O(n)O(n)O(n)枚举断点转移了啊. 显然如果断 ...
- 如何更改myecelipse、eclipse的Project Explorer的背景颜色
这个是我研究了很久发现的,因为myecelipse.eclipse本身是随着系统的颜色改变而改变的,windows系统都会随着系统改变而改变的,所以找了很多资料都没能改变它的背景色,今天发现了一个不错 ...
- cmake-file
file: File manipulation command. file(WRITE filename "message to write"... ) file(APPEND f ...
- 重大发现 springmvc Controller 高级接收参数用法
1. 数组接收 @RequestMapping(value="deleteRole.json") @ResponseBody public Object deleteRole(S ...
- jQueryUI datepicker 报错: TypeError: inst is undefined
前提:要引用的js等都引用好了 调用日期控件的input: <input id="starttime" name="starttime" class=&q ...