(转)Yale CAS + .net Client 实现 SSO(4)

  • 第一部分:安装配置 Tomcat
  • 第二部分:安装配置 CAS
  • 第三部分:实现 ASP.NET WebForm Client

第四部分:实现基于数据库的身份验证

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”。找到下面的代码

<bean id="authenticationManager"
    class="org.jasig.cas.authentication.AuthenticationManagerImpl">

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

<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://192.168.0.123:1433;databaseName=UsersDB"></property>
    <property name="username" value="sa"></property>
    <property name="password" value="YourPassword"></property>
</bean>

如下图所示:

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

<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

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

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

<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
    <property name="sql" value="select Password from users where username=?" />
    <property name="dataSource" ref="dataSource" />
</bean>

如图所示:

说明:如果你安装的是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程序(请参考:Yale CAS + .net Client 实现 SSO(3)),输入用户名“admin”、密码“123”,测试是否登录成功。如果一切配置正常,可以看到程序登录后的界面如下图:

5.进一步改善登录体验

在实际使用过程中,用户可能希望通过多种方式登录:用户名、密码;邮箱、密码;手机号、密码,如何解决多种方式登录的问题呢?在随后的部分我们将深入讨论如何解决此类问题。

时间: 2024-10-13 15:28:35

(转)Yale CAS + .net Client 实现 SSO(4)的相关文章

(转)Yale CAS + .net Client 实现 SSO(5)

第一部分:安装配置 Tomcat 第二部分:安装配置 CAS 第三部分:实现 ASP.NET WebForm Client 第四部分:实现基于数据库的身份验证 第五部分:扩展基于数据库的身份验证 1. 应用场景 前面提到的基于数据库的集中身份验证主要是通过用户名.密码的方式完成验证操作,然而在实际使用过程中,用户可能需要多种形式的认证手段,除了用户名密码的方式外,还可能通过邮箱或手机号登录,但不管使用何种方式登录,都对应同一用户.下图演示了淘宝网在登录时允许用户以“手机号/会员名/邮箱”三种方式

(转)Yale CAS + .net Client 实现 SSO(2)

第一部分:安装配置 Tomcat 第二部分:安装配置 CAS 1. 下载 CAS 及.NET CAS client. CAS下载地址:http://www.jasig.org/cas/download .NET CAS Client 下载地址:https://wiki.jasig.org/display/CASC/.Net+Cas+Client 2. 安装 CAS 解压缩下载下来的“cas-server-3.5.1-release.zip”, 在“modules”文件夹中找到“cas-serve

(转)Yale CAS + .net Client 实现 SSO(3)

第一部分:安装配置 Tomcat 第二部分:安装配置 CAS 第三部分:实现 ASP.NET WebForm Client 1. 下载.NET CAS client. .NET CAS Client 下载地址:https://wiki.jasig.org/display/CASC/.Net+Cas+Client 下载“dotnet-client-1.0-Src.zip”并解压缩. 2. 配置 CAS DotNetClient 以管理员身份启动Visual Studio(目的为了随后可以直接将网站

(转)Yale CAS + .net Client 实现 SSO(1)

由于信息系统集成需要,最近研究了一下CAS.从网上找了不少资料,很多是针对Java平台的,为数不多的针对.net Client的文章往往片面的介绍某个方面,照着去做确会遇到大量的问题,特别是“重定向循环”问题,网上的解决方案多种多样,而且并不能完全解决问题.通过最近几天的摸索,终于调试成功,为此,本系列随笔将详细介绍在ASP.NET中,如何通过CAS实现单点登录(Single Sign On),并针对网上的一些资料进行讨论,并提供本人针对“重定向循环”问题的解决办法. 第一部分:安装配置 Tom

(转)Yale CAS + .net Client 实现 SSO(6)

第一部分:安装配置 Tomcat 第二部分:安装配置 CAS 第三部分:实现 ASP.NET WebForm Client 第四部分:实现基于数据库的身份验证 第五部分:扩展基于数据库的身份验证 第六部分:自定义登录页面 1. 离线定义登录页面 CAS登录页面存放在“%TOMCAT_HOME%\webapps\cas\WEB-INF\view\jsp\default\ui”文件夹下,该文件夹内有多个jsp文件,主要包括: 页面 功能 casConfirmView.jsp 在浏览器跳转到用户想要访

yale cas与webform 循环重定向问题

首先要感谢几位前辈的笔记 CAS 与.net 集成的 “循环重定向”问题分析 Yale CAS + .net Client 实现 SSO(3) 1.干掉web.config中的casClientConfig节点的proxyTicketManager,除非你使用代理 2.干掉authentication配置借点中的path属性 然后就可以完美使用了

Yale CAS SSO For .NET

--Yale CAS SSO http://www.cnblogs.com/zhenyulu/category/447512.html

CAS实战のclient自定义过滤器

我们在配置cas client肯定写过如下代码: <filter> <filter-name>CASFilter</filter-name> <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> <filter-class>com.founder.ec.sso.filter.CASFilter</filter-c

cas(二) client

一 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc