原文地址: http://www.micmiu.com/enterprise-app/sso/cas-server-auth-db/
目录:
[一]、概述
继前面介绍过 SSO之CAS单点登录实例演示(http://www.micmiu.com/enterprise-app/sso/sso-cas-sample/),演示过程中服务端认证机制采用的是测试环境的默认配置,本文将重点演示如何通过查询数据库,对用户名和密码进行相关的认证配置。
[二]、演示环境
[三]、演示步骤
1.创建演示的用户数据
在mysql数据库中创建Database,以 test 为例,然后再创建用户表:sso_t_user,详细SQL如下:
1 |
CREATE TABLE `sso_t_user` (
|
2 |
`Id` int (11) NOT NULL AUTO_INCREMENT,
|
3 |
`login_name` varchar (50) DEFAULT NULL ,
|
4 |
` password ` varchar (255) DEFAULT NULL ,
|
6 |
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
向表sso_t_user 中插入如下数据:
1 |
INSERT INTO `sso_t_user` VALUES (1, 'admin' , '96e79218965eb72c92a549dd5a330112' );
|
2 |
INSERT INTO `sso_t_user` VALUES (2, 'user' , '96e79218965eb72c92a549dd5a330112' );
|
Tips:
- 密码以MD5 加密后存放数据库中为例
- “111111”的MD5值为:“96e79218965eb72c92a549dd5a330112”
2.修改cas服务端配置
在%tomcat_cas%/webapps/cas/WEB_INF/deployerConfigContext.xml 找到如下信息:
1 |
< bean class = "org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
|
修改成如下:
1 |
< bean class = "org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler" >
|
2 |
< property name = "dataSource" ref = "dataSource" ></ property >
|
3 |
< property name = "sql" value = "select password from sso_t_user where login_name=?" ></ property >
|
4 |
< property name = "passwordEncoder" ref = "MD5PasswordEncoder" ></ property >
|
同时增加datasource和加密处理两个bean的定义:
2 |
class = "org.springframework.jdbc.datasource.DriverManagerDataSource" >
|
3 |
< property name = "driverClassName" value = "com.mysql.jdbc.Driver" />
|
5 |
< property name = "username" value = "root" />
|
6 |
< property name = "password" value = "" />
|
8 |
< bean id = "MD5PasswordEncoder"
|
9 |
class = "org.jasig.cas.authentication.handler.DefaultPasswordEncoder" >
|
10 |
< constructor-arg index = "0" value = "MD5" />
|
修改后的配置信息如下:
3.添加相关的jar包
需要在web项目的lib下添加两个包:cas-server-support-jdbc-x.x.x.jar 和 mysql-connector-java-x.x.x-bin.jar(具体版本号根据情况而定)
4.测试认证过程
分别启动已经配置好的三个tomcat分别为:tomcat-cas、tomcat-app1、tomcat-app2.
此时在cas-server认证界面输入:admin/111111 ,需要和数据库中查询到的密码验证匹配后才能登陆系统。
分享到:
相关推荐
10. **扩展与定制**:CAS服务端允许自定义认证策略,比如支持LDAP、AD域、OAuth2等多种认证方式,还可以通过插件机制扩展其他功能,如审计日志、MFA(多因素认证)等。 总之,"cas服务端-连接数据库版"是实现集中...
6. **测试与调试**:完成配置后,通过登录尝试来测试数据库认证。确保所有必要的日志和错误处理都已到位,以便在出现问题时能够追踪和调试。 Spring Security是CAS Server中的另一个关键组件,它是一个全面的安全...
3. **配置**:在项目中,你需要根据实际需求修改`cas.properties`或相关YAML配置文件,比如设置服务器地址、数据库连接信息、认证策略等。 4. **服务注册**:CAS需要知道哪些应用需要接入SSO,可以通过配置文件或者...
这通常涉及到修改`cas-server-config.xml`配置文件,包括定义服务提供商、认证策略、票证验证机制等。例如,你可能需要定义哪些URL被视为受保护的资源,以及当用户尝试访问这些资源时应该如何进行身份验证。 在实现...
6. **数据库集成**:可以配置连接不同的数据库,如MySQL、Oracle等,存储用户的认证信息和会话数据。 学习和研究`cas-server-4.2.27`源码,有助于理解SSO的实现原理,以及如何根据业务需求进行定制化开发。对于标签...
这个给定的压缩包文件包含了实现CAS服务端和客户端的代码,可以直接运行,且数据库采用了MySQL作为后端存储,具有自定义配置。 一、CAS服务端 CAS服务端是整个SSO系统的核心,负责用户的身份验证。以下是一些关键...
- **调整为数据库验证**: 修改CAS配置,使其支持数据库认证机制。涉及的步骤包括: - 设置数据库连接参数。 - 配置CAS以使用数据库进行用户验证。 #### 四、CAS客户端实施 - **下载CAS客户端**: 获取适用于项目的...
总结来说,"cas-client-3.2.1+cas-server-3.4.10"是实现网络应用SSO认证的一个解决方案,涉及到了客户端和服务端的配置、安全策略、用户认证流程、单点登出以及系统维护等多个方面。正确配置和使用这个组合,可以极...
标题 "cas 系统实例 服务端配置(一)" 提到的是 CAS(Central Authentication Service)系统的一个服务端配置教程。CAS 是一个开源的身份验证框架,主要用于实现单一登录(Single Sign-On, SSO)。在本教程中,我们...
- 集成自定义的用户认证机制,如 LDAP 或数据库认证。 - 添加多语言支持,提升用户体验。 - 自定义错误处理和日志记录。 - 实现代理票据功能,以支持跨域认证。 **总结** Laravel 开发的 CAS 服务器为 PHP 开发者...
4. **数据库配置**:如果使用数据库存储用户信息,需要配置数据库连接池,如Apache Commons DBCP或HikariCP,并在`context.xml`中设置相关参数。 5. **证书生成**:为了实现安全的HTTPS通信,需要生成一对公钥和...
CAS,全称Central ...总之,CAS服务端war包提供了构建单点登录环境的基础,其部署和配置需要对Java Web应用、Servlet容器和SSO机制有一定的了解。正确配置和使用CAS可以极大地提升企业级应用的安全性和便捷性。
在这个“CAS服务端(非原生)”项目中,开发者对标准的CAS服务端进行了改造,以满足特定需求。 首先,项目采用了Maven作为构建工具来管理代码依赖和构建流程。Maven是一个强大的Java项目管理工具,它通过在pom.xml...
4. CAS服务端代码:压缩包中的“cas”目录很可能包含了CAS服务器的核心组件代码,包括认证模块、票据管理、服务注册与管理等。这些代码可以帮助开发者深入理解CAS的工作机制,例如如何处理HTTP请求,如何验证用户...
在描述中提到的"服务端数据库配置"是指设置CAS服务器以与特定的数据库进行交互,存储和验证用户信息。这通常涉及到以下几个步骤: 1. 配置数据源:在`pom.xml`中添加数据库驱动依赖,并在`cas-server-support-jdbc`...
5. **可扩展性**:CAS Server 3.5.2.1 支持多种认证协议,如LDAP、Active Directory、数据库等,可以根据组织的后端基础设施灵活配置。 6. **多语言支持**:CAS界面可以本地化为多种语言,便于全球用户使用。 7. *...
CAS Server是实现这一协议的服务端组件,用于处理用户的认证请求并管理授权信息。在你提供的信息中,我们关注的是CAS Server的4.2.7版本。 **CAS 4.2.7 知识点详解:** 1. **CAS协议原理**: CAS 协议基于客户端-...
同时,源码中还包括了丰富的配置选项,这些配置可以用于定制CAS的行为,比如改变默认的认证机制,调整票据过期策略等。 通过对CAS服务端源码的分析,开发者不仅可以掌握SSO的基本原理,还能了解到安全架构设计、...
服务端部署通常包括安装CAS服务器软件,配置认证源(如数据库、LDAP等),并根据组织需求定制登录界面和认证策略。 7. **扩展功能**: - PGT(Proxy Granting Ticket):支持代理认证,允许服务获取其他受保护资源...
SSO (Single Sign-On) 是一种身份验证机制,允许用户在一个系统中登录后,无需再次认证即可访问其他多个相互信任的系统。CAS (Central Authentication Service) 是一个开源的SSO框架,广泛应用于教育和企业环境中。...