Yale CAS + .net Client 实现 SSO(4)--实现基于数据库的身份验证
来源:互联网 发布:怎么出售淘宝店铺 编辑:程序博客网 时间:2024/05/16 19:16
原文地址:http://www.cnblogs.com/zhenyulu/archive/2013/01/26/2878271.html
第一部分:安装配置 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.进一步改善登录体验
在实际使用过程中,用户可能希望通过多种方式登录:用户名、密码;邮箱、密码;手机号、密码,如何解决多种方式登录的问题呢?在随后的部分我们将深入讨论如何解决此类问题。
待续...
- Yale CAS + .net Client 实现 SSO(4)--实现基于数据库的身份验证
- Yale CAS + .net Client 实现 SSO(5)--扩展基于数据库的身份验证
- Yale CAS + .net Client 实现 SSO(4)
- Yale CAS + .net Client 实现 SSO(1)
- Yale CAS + .net Client 实现 SSO(1)
- Yale CAS + .net Client 实现 SSO(2)
- Yale CAS + .net Client 实现 SSO(3)
- Yale CAS + .net Client 实现 SSO(5)
- Yale CAS + .net Client 实现 SSO(6)
- Yale CAS + .net Client 实现 SSO(3)--实现 ASP.NET WebForm Client
- Yale CAS + .net Client 实现 SSO(2)--安装配置 CAS
- Yale CAS + .net Client 实现 SSO(1)--安装配置 Tomcat
- Yale CAS + .net Client 实现 SSO(6)--自定义登录页面
- 基于CAS实现单点登录(SSO):cas client端的退出问题
- 基于CAS实现单点登录(SSO):配置CAS服务端的数据库查询认证机制
- 基于CAS实现单点登录(SSO):登录成功后,cas client如何返回更多用户信息
- 在Tomcat中使用Yale CAS实现单点登陆(SSO)
- 在Weblogic中使用Yale CAS实现单点登陆(SSO)
- linux开启图形界面
- 2013 多校第一场 hdu 4605 Magic Ball Game
- 黑马程序员----2、java控制语句
- OK6410之TFTP/NFS环境配置,NFS文件系统启动注意事项
- Win7 64bit系统下未能加载文件或程序集“System.Data.SQLite”的解决办法
- Yale CAS + .net Client 实现 SSO(4)--实现基于数据库的身份验证
- 设计模式的UML图
- [项目心得]自己的第一个项目1
- Yale CAS + .net Client 实现 SSO(5)--扩展基于数据库的身份验证
- Android OneDayOneExample-2. 读取电话本
- Yale CAS + .net Client 实现 SSO(6)--自定义登录页面
- 清理 Windows installer 目录
- POJ 2478 法雷级数
- 给定一个无重复元素的集合,输出该集合的全排列