CAS实现SSO 学习(四)

原创 2015年07月09日 14:57:19

(四):实现基于数据库的身份验证

1.下载 Microsoft JDBC Driver for SQL Server。

(1)Microsoft JDBC Driver 4.0 for SQL Server 下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774

网站提供了两种格式文件供下载,一种是自解压的EXE格式文件,还有一种是tar.gz格式的压缩文件。两种格式选其一下载即可,经过解压缩,可以得到两个JAR格式文件:sqljdbc.jar与sqljdbc4.jar。

(2)由于本人使用的是SQL Server 2012,因此需将“sqljdbc4.jar”拷贝至“%TOMCAT_HOME%\webapps\cas\WEB-INF\lib”文件夹。

(3)在本系列第二部分曾经提及从CAS网站下载“cas-server-3.5.1-release.zip”并解压缩。在解压缩的文件下中找到“modules\cas-server-support-jdbc-3.5.1.jar”,将其一并拷贝至“%TOMCAT_HOME%\webapps\cas\WEB-INF\lib”文件夹。

 

2.创建用于身份验证的数据库

(1)启动SQL Server Management Studio,新建一数据库“UsersDB”,并在其中建立表“Users”,字段如下:

(2)在表中输入若干测试数据.

3.配置CAS实现基于数据库的身份验证

(1)以管理员身份启动文本编辑工具,打开“%TOMCAT_HOME%\webapps\cas\WEB-INF\deployerConfigContext.xml”。找到下面的代码

<span style="font-family:Microsoft YaHei;"><bean id="authenticationManager"
    class="org.jasig.cas.authentication.AuthenticationManagerImpl">
</span>

(2)在该段代码前面插入 SQL Server JDBC 数据源配置信息:

<span style="font-family:Microsoft YaHei;">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
    <property name="url" value="jdbc:sqlserver://yoursqlurl;databaseName=UsersDB"></property>
    <property name="username" value="sa"></property>
    <property name="password" value="YourPassword"></property>
</bean>
</span>
如下图所示:

(3)找到如下配置信息:

<span style="font-family:Microsoft YaHei;">
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

</span>

该配置信息使用SimpleTestUsernamePasswordAuthenticationHandler验证用户,即默认用户名和密码相同则验证通过,用户名密码不同则登录失败。我们需要将其替换成基于数据库验证的配置信息。

首先将上面的配置信息注释掉,并在其下面插入如下配置信息:

<span style="font-family:Microsoft YaHei;">
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
    <property name="sql" value="select Password from users where username=?" />
    <property name="dataSource" ref="dataSource" />
</bean>

</span>
说明:如果你安装的是SQL Server 2012,那么默认TCP/IP访问协议不会打开,因此无法通过IP地址的方式访问SQL Server数据,解决办法就是启动SQL Server配置管理器,并在里面启用TCP/IP,启用后记得重新启动SQL Server服务以使设置生效。如图所示:



(4)保存对“%TOMCAT_HOME%\webapps\cas\WEB-INF\deployerConfigContext.xml”所做的修改。

(5)重新启动 Tomcat 服务。

4.测试基于数据库的身份验证

从客户端运行前面调试好的WebForm程序,输入库中配置的用户名及密码,测试是否登录成功。如果一切配置正常,可以看到程序登录后的界面如下图:

参考:http://www.cnblogs.com/zhenyulu/archive/2013/01/26/2878271.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

CAS实现SSO单点登录原理【强烈推荐】

1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨...
  • honey_beeqiang
  • honey_beeqiang
  • 2017年06月08日 14:07
  • 894

CAS 实现单点登录(SSO)简单实例demo(二)

本文目的很明确,并不是要逐步讲清楚每一步的操作,具体的步骤网上有很多,那么整理本文的目的只是要梳理一下自己的知识点,帮助自己加深理解。   小知识点积累:   域名地址的修改:   根据演示需求,用修...
  • hejingyuan6
  • hejingyuan6
  • 2015年04月07日 16:55
  • 13100

CAS实现单点登录SSO执行原理探究(终于明白了)

一、不落俗套的开始1、背景介绍单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS框架:CAS(Central A...
  • javaloveiphone
  • javaloveiphone
  • 2016年09月05日 13:56
  • 63412

php 用CAS实现SSO单点登陆及登出功能

php用CAS实现SSO单点登陆及登出功能 一..CAS服务器搭建 CAS服务器端下载地址:http://downloads.jasig.org/cas/  解压cas-server-4.0....
  • haiqiao_2010
  • haiqiao_2010
  • 2014年08月04日 11:21
  • 32655

单点登录之CAS SSO从入门到精通(第一天)

啊。。。。。。it's quite a long time。好久没更新博客了,有一年之久了,一直在忙于公司的一些项目。2014年到2015年工作太忙,对于一些经常跟我博客的读者们深深说一声抱歉。同时,...
  • lifetragedy
  • lifetragedy
  • 2015年02月14日 20:05
  • 35248

CAS SSO结合ASP

Dim casServer casServer = "localhost:8443/cas" Declare additional variables used for redirect Dim pr...
  • smildlzj
  • smildlzj
  • 2007年02月07日 22:46
  • 2284

SSO之CAS+LDAP实现单点登录认证

目录: 概述 详细步骤 LDAP安装配置 CAS基础安装配置 CAS整合LDAP的配置 [一]、概述 本来主要详细是介绍CAS和LDAP整合实现单点登录的步骤...
  • nchu2020
  • nchu2020
  • 2016年03月09日 15:06
  • 3864

spring + shiro + cas 实现sso单点登录

sso-shiro-cas spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次,项目源码 系统模块说明cas: 单点登录模块,这里直接拿的是cas的项目改了点样式...
  • zmken497300
  • zmken497300
  • 2016年12月21日 14:49
  • 1530

CAS实现单点登录(sso)搭建流程 服务器端搭建

一、简介 1、cas是有耶鲁大学研发的单点登录服务器 2、所用环境 ·        Linux系统 ·        Tomcat7.0 ·        JDK1.7 ·        CAS S...
  • cailianren1
  • cailianren1
  • 2015年06月11日 14:35
  • 1642

SSO CAS+Shiro+springmvc单点登录解决方案

SSO CAS+Shiro+springmvc单点登录解决方案
  • anita9999
  • anita9999
  • 2017年03月04日 22:55
  • 6731
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CAS实现SSO 学习(四)
举报原因:
原因补充:

(最多只允许输入30个字)