cas security等权限框架的密码加密处理异同
cas服务端加密的处理:
(其他的第三方框架加密用法类似比如security登陆)
1,需要自己写一个类实现cas的加密接口PasswordEncoder即可,纳入spring容器管理
2,在需要配置 加密的地方直接引用这个bean即可
登陆的时候输入用户名,密码由于直接调用cas的登陆请求,所以数据直接传到框架---》由于配置了加密方式,cas是在QueryDatabaseAuthenticationHandler进行和
数据查出的密码比对的时候加密的,用的加密算法就是在查询sql中引用的加密bean(注意这个加密算法对sql查出的不会加密,数据库存的就是加好密的),
p:passwordEncoder-ref是告诉cas数据库中密码的加密方法,所以等下传进来的密码自动根据这个加密
<bean id="myPasswordEncoder" class="com.esteel.cas.MyPasswordEncoder"/>
<bean id="dbAuthHandler"
class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"
p:dataSource-ref="casDataSource"
p:sql="select trade_passwd from vw_member where CUSTOMER_STATUS='A' and CUS_USER_STATUS='A' and cus_user_id = ?"
p:passwordEncoder-ref="myPasswordEncoder"
/>
/* */ package com.esteel.cas;
/* */
/* */ import java.io.UnsupportedEncodingException;
/* */ import java.security.MessageDigest;
/* */
/* */ public class MyPasswordEncoder implements org.jasig.cas.authentication.handler.PasswordEncoder
/* */ {
/* */ public String encode(String rawPassword)
/* */ {
/* */ try
/* */ {
/* 12 */ return createEncryptPSW(rawPassword);
/* */ }
/* */ catch (Exception e) {
/* 15 */ e.printStackTrace();
/* */ }
/* 17 */ return null;
/* */ }
/* */
/* */ public static String createEncryptPSW(String psw)
/* */ throws Exception
/* */ {
/* 23 */ MessageDigest messagedigest = null;
/* */ try {
/* 25 */ messagedigest = MessageDigest.getInstance("MD5");
/* 26 */ messagedigest.update(psw.getBytes("UTF8"));
/* 27 */ byte[] abyte0 = messagedigest.digest();
/* 28 */ return new BASE64Encoder().encode(abyte0);
/* */ } catch (java.security.NoSuchAlgorithmException e) {
/* 30 */ throw new Exception("NoSuchAlgorithmException!", e);
/* */ } catch (UnsupportedEncodingException e) {
/* 32 */ throw new Exception("UnsupportedEncodingException!", e);
/* */ }
/* */ }
/* */ }
security登陆:
1 <bean id="daoAuthenticationProvider"
class="org.springframework.security.providers.dao.DaoAuthenticationProvider"
2 p:passwordEncoder-ref="passwordEncoder"//在提交的时候security就进行密码加密即使开发者都看不到,cas这块是在要比对的时候才加密,之前的明文还是可以看到
3 p:userDetailsService-ref="userDetailsService"/>userDetailsService属性也是指向了我们配置的Bean, 它负责从数据库中读取用户的信息
4 <bean id="passwordEncoder"
5 class="org.springframework.security.providers.encoding.Md5PasswordEncoder"/>
相关推荐
CAS(Central Authentication Service,中央认证服务)是一种广泛使用的开源身份验证框架,主要用于实现单点登录(Single Sign-On,SSO)。在本主题中,我们将深入探讨如何在CAS中进行自定义加密和登录验证。 首先...
5. **自定义逻辑**:可能需要根据实际需求扩展或定制Spring Security和CAS的行为,比如添加自定义认证处理器、权限判定逻辑等。 6. **测试与调试**:创建一些受保护的端点并进行测试,确保用户能够正确地通过CAS...
在`cas-server-support-jdbc`模块中,你可以配置`PasswordEncoder`来处理密码的加密和解密。 4. **创建认证处理器**:使用Spring Security的`UserDetailsService`接口创建一个自定义实现,这个接口用于从数据库中...
SpringBoot+Security+Cas是一个集成解决方案,用于构建安全的Web应用程序。这个Demo是为那些希望了解如何在Spring Boot应用中整合Spring Security和CAS(Central Authentication Service)服务的开发者准备的。下面...
- **Shiro**:Apache Shiro是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理等功能,可以帮助开发者非常容易地开发出安全的应用。 #### 三、CAS与Shiro集成的关键步骤 ##### 3.1 CAS的工作流程 ...
cas版本3.4.0,spring security版本3.1.4,经测试可用!
在实际应用中,开发者需要根据项目需求调整配置,比如自定义登录页面、增加权限控制、处理异常情况等。这个实例提供了一个基础的SSO解决方案,帮助开发者理解Spring Security和CAS的集成机制,并在此基础上进行扩展...
Spring Security是Java领域一个强大的安全框架,它提供了全面的安全性解决方案,包括身份验证、授权等。而CAS(Central Authentication Service)是一个开源的单点登录协议,它允许用户通过一个中央认证服务来访问多...
spring security 结合cas 单点登录系统 cas客户端的配置文件
Acegi Security是Spring框架的一个子项目,旨在为应用提供安全控制功能,包括身份验证、授权和会话管理等。而CAS是由耶鲁大学开发的一个开源单点登录(Single Sign-On,SSO)解决方案,它允许用户通过一次登录即可...
CAS(Central Authentication Service)是Java开发的一个开源身份验证框架,主要用于实现单点登录(Single Sign-On,SSO)。本教程将详细介绍如何搭建CAS服务,并将其与SQL Server数据库和Spring Security进行集成。...
系统会使用MD5加密方式对用户输入的密码进行处理,只有当加密后的密码与数据库中存储的密码匹配时,认证才会成功。 以上就是Cas服务端的部署和MD5加密认证的详细步骤。在实际应用中,还需要考虑安全性最佳实践,...
标题中的"Spring Security 3 与 CAS 单点登录配置-Server"涉及到的是在Java Web开发中使用Spring Security 3框架集成Central Authentication Service (CAS)实现单点登录(Single Sign-On, SSO)的服务器端配置。...
CAS实现MD5+Base64密码加密方式,实现多条件登录及查询,返回客户端多个值,验证码实现;因文件太大,只保留了最重要的三个jar包,请先到官网下载服务端的war包,解压后将lib目录下的jar包导入到sso中的lib目录下,...
4. **认证方式**:CAS支持多种认证方式,包括基于用户名/密码的简单认证、LDAP认证、Active Directory认证、数据库认证等,可以根据组织需求灵活选择。 5. **扩展性**:CAS提供了一个插件架构,允许开发人员添加...
### Spring Security 安全权限管理手册知识点概览 #### 一、基础篇 **1. 一个简单的Hello World** - **1.1 配置过滤器** - 介绍如何在Spring Security中配置基本的过滤器,以实现对HTTP请求的基本拦截与控制。 - ...
CAS Server :其实就是一个war包,CAS框架已经提供。只需要把部署到web服务器上即可,主要负责对用户的认证工作。 在文章末尾的示例项目中提供。 CAS Client:就是开发过程中的web层, 负责处理对客户端受保护...
1. 使用Spring Initializr初始化Spring Boot项目,选择需要的依赖如Web、Security、Oracle数据库驱动等。 2. 配置Shiro,编写UserRealm实现自定义认证和授权逻辑。 3. 配置Oracle数据库连接,设计数据库表结构,存储...