关于cas单点登录的原理及介绍这里不做说明了,直接开始:

1、war包下载

去官网(https://www.apereo.org/projects/cas/download-cas)下载cas_server-webapp_xxx.war文件,这里使用的是cas-server-webapp-4.0.0.war。(这里吐槽下,由于cas源码及war包都已经放到github上面去了,导致下载速度很慢或者无法下载,最后无奈之下去CSDN下载了。。。)

2、创建证书

证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书;由于是个人学习测试所以就直接用JDK自带的keytool工具生成证书;如果以后真正在产品环境中使用肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证,中文官方网站:http://www.verisign.com/cn/

用JDK自带的keytool工具生成证书:

keytool -genkey -alias cas -keyalg RSA -keystore e:/keys/cas

根据提示信息输入相关数据回车即可(这里注意要记住创建时的密码)。

3、导出证书

keytool -export -file e:/keys/cas.crt -alias cas -keystore e:/keys/cas

如果提示:

keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect

那么请输入密码:changeit

至此导出证书完成,可以分发给应用的JDK使用了。

4、为客户端的JVM导入证书

keytool -import -keystore "C:\Program Files\Java\jdk1.8.0_101\jre\lib\security\cacerts" -file e:/keys/cas.crt -alias cas

同第3步一样,如果提示输入密码,请输入changeit,至此证书的创建、导出、导入到客户端JVM都已完成,下面开始使用证书到Web服务器中,这里我使用的是tomcat7服务器。

5、应用证书到web服务器

打开tomcat目录的conf/server.xml文件,设置如下:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="e:/keys/cas"
keystorePass="111111"/>

参数说明:

  • keystoreFile:在第一步创建的key存放位置
  • keystorePass:创建证书时的密码

6、启动tomcat服务器

将第1步下载好的war包放到tomcat的webapp目录下,启动tomcat,访问https://localhost:8443/cas/login页面,输入casuser/Mellon可以成功登录表示服务器已经搭建完成。

查看配置文件deployerConfigContext.xml可以获取默认的用户名和密码信息,后续会详细说明该配置文件。

登录成功

7、数据库用户认证方式配置

在之前的步骤里面,我们已经初步完成了cas单点登录服务器的搭建,但是很明显上述用户的验证方式不是我们想要的,下面我们来进一步配置cas服务器怎么读取数据库的信息进行身份验证,首先打开:

webapp/cas/WEB-INF/deployerConfigContext.xml

然后进行如下配置修改:

  <!--**********************************注释*****************************************************
  <entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" />
  **************************************注释**************************************************-->
  <entry key-ref="dbAuthHandler" value-ref="primaryPrincipalResolver" /> <!--**********************************注释*****************************************************
<bean id="primaryAuthenticationHandler"
class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">
<property name="users">
<map>
<entry key="casuser" value="Mellon"/>
</map>
</property>
</bean>
**************************************注释**************************************************--> <!--**********************************新增**************************************************-->
<!-- Define the DB Connection -->
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
p:driverClass="com.mysql.jdbc.Driver"
p:jdbcUrl="jdbc:mysql://localhost:3306/ssm?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"
p:user="root"
p:password="1234" /> <!-- Define the encode method-->
<bean id="passwordEncoder"
class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"
c:encodingAlgorithm="MD5"
p:characterEncoding="UTF-8" /> <bean id="dbAuthHandler"
class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"
p:dataSource-ref="dataSource"
p:sql="select password from t_user where username=?"
p:passwordEncoder-ref="passwordEncoder"/>
<!--***********************************新增*************************************************-->

最后,加入以下依赖包:c3p0-0.9.1.2.jar,MySQL-connector-Java-5.1.21.jar,cas-server-support-jdbc-4.0.0.jar

重启tomcat服务器,发现已经可以使用数据库用户进行登录了。

----------------------------------------------------------------------------------------------------------------------------

ps:除了代码之外,咱还可以聊点别的,有兴趣可以关注我的个人微信公众号!

CAS单点登录服务器搭建的更多相关文章

  1. SSO之CAS单点登录详细搭建教程

    本教程是我个人编写,花费几个小时的时间,给需要学习的人员学习使用,希望能帮助到你们. [环境说明]:本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows7 ...

  2. 搭建CAS单点登录服务器

    最近公司的一个项目需要用到单点登录的功能,之前对单点登录了解得不多.于是网上找了下单点登录的解决方案,发现CAS是个不错的解决方案.于是搭个环境测试了一下.这里记录下测试的详细步骤. 官网:http: ...

  3. CAS 单点登录 服务器整合

    概述 现在企业内部的系统越来越多,如果各个应用都有自己的用户系统,那么用户将不得不要记住不同系统的用户名密码,因此独立的用户系统应运而生,各个系统之间通过单点登录的方式,这样内部只需要记住一个用户名和 ...

  4. CAS单点登录之mysql数据库用户验证及常见问题

    前面已经介绍了CAS服务器的搭建,详情见:搭建CAS单点登录服务器.然而前面只是简单地介绍了服务器的搭建,其验证方式是原始的配置文件的方式,这显然不能满足日常的需求.下面介绍下通过mysql数据库认证 ...

  5. CAS单点登录学习(一):服务端搭建

    下载先在网上下载cas-server-3.5.2,将里面的cas-server-webapp-3.5.2.war放到tomcat的webapps目录下. https设置cas单点登默认使用的是http ...

  6. CAS单点登录(SSO)完整教程

    转:http://blog.csdn.net/frinder/article/details/7969925 CAS单点登录(SSO)完整教程(2012-02-01更新) 一.教程说明 前言 教程目的 ...

  7. cas 单点登录(SSO)之一: jasig cas-server 安装

    cas 单点登录(SSO)实验之一: jasig cas-server 安装 参考文章: http://my.oschina.net/indestiny/blog/200768#comments ht ...

  8. 【CAS单点登录视频教程】 第05集 -- CAS服务器安装

    第一步: 下载cas 服务器 cas-server-3.5.2-release.zip 目录 ----------------------------------------- [CAS单点登录视频教 ...

  9. cas 单点登录(SSO)之中的一个: jasig cas-server 安装

    cas 单点登录(SSO)实验之中的一个: jasig cas-server 安装 參考文章: http://my.oschina.net/indestiny/blog/200768#comments ...

随机推荐

  1. ASP.NET Core MVC 源码学习:MVC 启动流程详解

    前言 在 上一篇 文章中,我们学习了 ASP.NET Core MVC 的路由模块,那么在本篇文章中,主要是对 ASP.NET Core MVC 启动流程的一个学习. ASP.NET Core 是新一 ...

  2. css实现下拉菜单

    实现一个效果不难,难的是使用最少的代码实现一个效果 <!DOCTYPE html> <html lang="en"> <head> <me ...

  3. oracle删除字段中的空格、回车及指定字符

    create or replace procedure PROC_test is --Description:删除字段中的指定字符(回车chr(13).换行chr(10)) --By LiChao - ...

  4. jQuery Ajax 实例 全解析(转)

    1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) : 请求的HTML页的URL地址. data (M ...

  5. Legendary Items-微软实习生笔试第一题

    题目如下: 这道题难点不仅在于正确理解题意,判断递归条件,更在于用数学方法推出解决公式.因为N最大为1百万,而内存只有256MB, 所以暴力递归肯定会超时,超空间. 不过,我才疏学浅,又没有大量时间去 ...

  6. C# 调用CMD执行命令行

    这几天用c#做了一个项目,其中一个功能是要把生成的临时文件隐藏,同时,不能在屏幕上有调用CMD的痕迹,这里生成的临时文件的绝对路径为delfile为文件的绝对路径, 代码如下: private voi ...

  7. React+ES6+Webpack环境配置

    转自http://www.cnblogs.com/chenziyu-blog/p/5675086.html 参考http://www.tuicool.com/articles/BrAVv2y Reac ...

  8. 老李分享:Uber究竟是用什么开发语言? 1

    老李分享:Uber究竟是用什么开发语言?   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9 ...

  9. Hibernate基础学习(一)—初识Hibernate

    一.对象的持久化 狭义的理解: 持久化仅仅指把对象永久的保存到数据库中. 广义的理解: 持久化包括和数据库相关的各种操作.         保存: 把对象永久保存到数据库中.         更新: ...

  10. 关于阿里图标库Iconfont生成图标的三种使用方式(fontclass/unicode/symbol)

    1.附阿里图标库链接:http://www.iconfont.cn/ 2.登录阿里图标库以后,搜索我们需要的图标,将其加入购物车,如图3.将我们需要的图标全部挑选完毕以后,点击购物车图标4.这时候右侧 ...