`
beyond429
  • 浏览: 95721 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

CAS服务端-配置数据库查询认证机制

    博客分类:
  • sso
阅读更多

原文地址: 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   `passwordvarchar(255) DEFAULT NULL,
5   PRIMARY KEY (`Id`)
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 <beanclass="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>
5 </bean>

同时增加datasource和加密处理两个bean的定义:

1 <bean id="dataSource"
2     class="org.springframework.jdbc.datasource.DriverManagerDataSource">
3     <property name="driverClassName" value="com.mysql.jdbc.Driver" />
4     <property name="url" value="jdbc:mysql://localhost/test" />
5     <property name="username" value="root" />
6     <property name="password" value="" />
7 </bean>
8 <bean id="MD5PasswordEncoder"
9     class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
10     <constructor-arg index="0" value="MD5" />
11 </bean>

修改后的配置信息如下:

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 ,需要和数据库中查询到的密码验证匹配后才能登陆系统。

分享到:
评论

相关推荐

    cas服务端-连接数据库版

    10. **扩展与定制**:CAS服务端允许自定义认证策略,比如支持LDAP、AD域、OAuth2等多种认证方式,还可以通过插件机制扩展其他功能,如审计日志、MFA(多因素认证)等。 总之,"cas服务端-连接数据库版"是实现集中...

    cas server 5.3.9 整合数据库验证用户信息,使用security密码验证方式

    6. **测试与调试**:完成配置后,通过登录尝试来测试数据库认证。确保所有必要的日志和错误处理都已到位,以便在出现问题时能够追踪和调试。 Spring Security是CAS Server中的另一个关键组件,它是一个全面的安全...

    Cas5.2.6(cas-overlay-template-5.2.6)服务端

    3. **配置**:在项目中,你需要根据实际需求修改`cas.properties`或相关YAML配置文件,比如设置服务器地址、数据库连接信息、认证策略等。 4. **服务注册**:CAS需要知道哪些应用需要接入SSO,可以通过配置文件或者...

    CAS服务端文件下载

    这通常涉及到修改`cas-server-config.xml`配置文件,包括定义服务提供商、认证策略、票证验证机制等。例如,你可能需要定义哪些URL被视为受保护的资源,以及当用户尝试访问这些资源时应该如何进行身份验证。 在实现...

    cas-server-服务端源码.zip

    6. **数据库集成**:可以配置连接不同的数据库,如MySQL、Oracle等,存储用户的认证信息和会话数据。 学习和研究`cas-server-4.2.27`源码,有助于理解SSO的实现原理,以及如何根据业务需求进行定制化开发。对于标签...

    cas服务端和客户端可用代码

    这个给定的压缩包文件包含了实现CAS服务端和客户端的代码,可以直接运行,且数据库采用了MySQL作为后端存储,具有自定义配置。 一、CAS服务端 CAS服务端是整个SSO系统的核心,负责用户的身份验证。以下是一些关键...

    CAS服务端3.4.8安装手册

    - **调整为数据库验证**: 修改CAS配置,使其支持数据库认证机制。涉及的步骤包括: - 设置数据库连接参数。 - 配置CAS以使用数据库进行用户验证。 #### 四、CAS客户端实施 - **下载CAS客户端**: 获取适用于项目的...

    cas-client-3.2.1+cas-server-3.4.10

    总结来说,"cas-client-3.2.1+cas-server-3.4.10"是实现网络应用SSO认证的一个解决方案,涉及到了客户端和服务端的配置、安全策略、用户认证流程、单点登出以及系统维护等多个方面。正确配置和使用这个组合,可以极...

    cas 系统实例 服务端配置(一)

    标题 "cas 系统实例 服务端配置(一)" 提到的是 CAS(Central Authentication Service)系统的一个服务端配置教程。CAS 是一个开源的身份验证框架,主要用于实现单一登录(Single Sign-On, SSO)。在本教程中,我们...

    Laravel开发-cas-server

    - 集成自定义的用户认证机制,如 LDAP 或数据库认证。 - 添加多语言支持,提升用户体验。 - 自定义错误处理和日志记录。 - 实现代理票据功能,以支持跨域认证。 **总结** Laravel 开发的 CAS 服务器为 PHP 开发者...

    Yale CAS Server的部署及cas-java-client 3.2的应用

    4. **数据库配置**:如果使用数据库存储用户信息,需要配置数据库连接池,如Apache Commons DBCP或HikariCP,并在`context.xml`中设置相关参数。 5. **证书生成**:为了实现安全的HTTPS通信,需要生成一对公钥和...

    CAS服务端war包(亲测可用)

    CAS,全称Central ...总之,CAS服务端war包提供了构建单点登录环境的基础,其部署和配置需要对Java Web应用、Servlet容器和SSO机制有一定的了解。正确配置和使用CAS可以极大地提升企业级应用的安全性和便捷性。

    CAS服务端(非原生)

    在这个“CAS服务端(非原生)”项目中,开发者对标准的CAS服务端进行了改造,以满足特定需求。 首先,项目采用了Maven作为构建工具来管理代码依赖和构建流程。Maven是一个强大的Java项目管理工具,它通过在pom.xml...

    cas.rar_cas java_cas服务端代码_单点登录

    4. CAS服务端代码:压缩包中的“cas”目录很可能包含了CAS服务器的核心组件代码,包括认证模块、票据管理、服务注册与管理等。这些代码可以帮助开发者深入理解CAS的工作机制,例如如何处理HTTP请求,如何验证用户...

    cas-overlay(MD5 数据用户校验).zip

    在描述中提到的"服务端数据库配置"是指设置CAS服务器以与特定的数据库进行交互,存储和验证用户信息。这通常涉及到以下几个步骤: 1. 配置数据源:在`pom.xml`中添加数据库驱动依赖,并在`cas-server-support-jdbc`...

    cas-server-3.5.2.1-release.zip

    5. **可扩展性**:CAS Server 3.5.2.1 支持多种认证协议,如LDAP、Active Directory、数据库等,可以根据组织的后端基础设施灵活配置。 6. **多语言支持**:CAS界面可以本地化为多种语言,便于全球用户使用。 7. *...

    cas服务端server

    CAS Server是实现这一协议的服务端组件,用于处理用户的认证请求并管理授权信息。在你提供的信息中,我们关注的是CAS Server的4.2.7版本。 **CAS 4.2.7 知识点详解:** 1. **CAS协议原理**: CAS 协议基于客户端-...

    cas 服务端源码

    同时,源码中还包括了丰富的配置选项,这些配置可以用于定制CAS的行为,比如改变默认的认证机制,调整票据过期策略等。 通过对CAS服务端源码的分析,开发者不仅可以掌握SSO的基本原理,还能了解到安全架构设计、...

    cas_client.zip CAS认证中心客户端starter

    服务端部署通常包括安装CAS服务器软件,配置认证源(如数据库、LDAP等),并根据组织需求定制登录界面和认证策略。 7. **扩展功能**: - PGT(Proxy Granting Ticket):支持代理认证,允许服务获取其他受保护资源...

    SSO CAS 整理 - 页面备份

    SSO (Single Sign-On) 是一种身份验证机制,允许用户在一个系统中登录后,无需再次认证即可访问其他多个相互信任的系统。CAS (Central Authentication Service) 是一个开源的SSO框架,广泛应用于教育和企业环境中。...

Global site tag (gtag.js) - Google Analytics