`
y806839048
  • 浏览: 1119453 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

cas security等权限框架的密码加密处理异同

阅读更多

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自定义加密和登录验证

    CAS(Central Authentication Service,中央认证服务)是一种广泛使用的开源身份验证框架,主要用于实现单点登录(Single Sign-On,SSO)。在本主题中,我们将深入探讨如何在CAS中进行自定义加密和登录验证。 首先...

    springboot+security+cas集成demo

    5. **自定义逻辑**:可能需要根据实际需求扩展或定制Spring Security和CAS的行为,比如添加自定义认证处理器、权限判定逻辑等。 6. **测试与调试**:创建一些受保护的端点并进行测试,确保用户能够正确地通过CAS...

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

    在`cas-server-support-jdbc`模块中,你可以配置`PasswordEncoder`来处理密码的加密和解密。 4. **创建认证处理器**:使用Spring Security的`UserDetailsService`接口创建一个自定义实现,这个接口用于从数据库中...

    SpringBoot+Security+Cas

    SpringBoot+Security+Cas是一个集成解决方案,用于构建安全的Web应用程序。这个Demo是为那些希望了解如何在Spring Boot应用中整合Spring Security和CAS(Central Authentication Service)服务的开发者准备的。下面...

    单点登录CAS与权限管理框架Shiro集成

    - **Shiro**:Apache Shiro是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理等功能,可以帮助开发者非常容易地开发出安全的应用。 #### 三、CAS与Shiro集成的关键步骤 ##### 3.1 CAS的工作流程 ...

    cas,spring security

    cas版本3.4.0,spring security版本3.1.4,经测试可用!

    Spring Security集成CAS客户端实例

    在实际应用中,开发者需要根据项目需求调整配置,比如自定义登录页面、增加权限控制、处理异常情况等。这个实例提供了一个基础的SSO解决方案,帮助开发者理解Spring Security和CAS的集成机制,并在此基础上进行扩展...

    单点登录实现 Spring_security+CAS

    Spring Security是Java领域一个强大的安全框架,它提供了全面的安全性解决方案,包括身份验证、授权等。而CAS(Central Authentication Service)是一个开源的单点登录协议,它允许用户通过一个中央认证服务来访问多...

    spring security 结合cas配置

    spring security 结合cas 单点登录系统 cas客户端的配置文件

    Acegi Security整合CAS实例

    Acegi Security是Spring框架的一个子项目,旨在为应用提供安全控制功能,包括身份验证、授权和会话管理等。而CAS是由耶鲁大学开发的一个开源单点登录(Single Sign-On,SSO)解决方案,它允许用户通过一次登录即可...

    搭建cas服务,cas与sqlserver连接,cas与security连接

    CAS(Central Authentication Service)是Java开发的一个开源身份验证框架,主要用于实现单点登录(Single Sign-On,SSO)。本教程将详细介绍如何搭建CAS服务,并将其与SQL Server数据库和Spring Security进行集成。...

    Cas服务端部署+认证采用MD加密方式

    系统会使用MD5加密方式对用户输入的密码进行处理,只有当加密后的密码与数据库中存储的密码匹配时,认证才会成功。 以上就是Cas服务端的部署和MD5加密认证的详细步骤。在实际应用中,还需要考虑安全性最佳实践,...

    Spring Security 3 与 CAS单点登录配置-Server

    标题中的"Spring Security 3 与 CAS 单点登录配置-Server"涉及到的是在Java Web开发中使用Spring Security 3框架集成Central Authentication Service (CAS)实现单点登录(Single Sign-On, SSO)的服务器端配置。...

    cas多条件查询、登录、密码加密、验证码实现

    CAS实现MD5+Base64密码加密方式,实现多条件登录及查询,返回客户端多个值,验证码实现;因文件太大,只保留了最重要的三个jar包,请先到官网下载服务端的war包,解压后将lib目录下的jar包导入到sso中的lib目录下,...

    cas开源单点登录框架

    4. **认证方式**:CAS支持多种认证方式,包括基于用户名/密码的简单认证、LDAP认证、Active Directory认证、数据库认证等,可以根据组织需求灵活选择。 5. **扩展性**:CAS提供了一个插件架构,允许开发人员添加...

    Spring Security 安全权限管理手册.pdf

    ### Spring Security 安全权限管理手册知识点概览 #### 一、基础篇 **1. 一个简单的Hello World** - **1.1 配置过滤器** - 介绍如何在Spring Security中配置基本的过滤器,以实现对HTTP请求的基本拦截与控制。 - ...

    CAS单点登录框架整合Spring Security

    CAS Server :其实就是一个war包,CAS框架已经提供。只需要把部署到web服务器上即可,主要负责对用户的认证工作。 在文章末尾的示例项目中提供。 CAS Client:就是开发过程中的web层, 负责处理对客户端受保护...

    前后端分离集成cas

    1. 使用Spring Initializr初始化Spring Boot项目,选择需要的依赖如Web、Security、Oracle数据库驱动等。 2. 配置Shiro,编写UserRealm实现自定义认证和授权逻辑。 3. 配置Oracle数据库连接,设计数据库表结构,存储...

Global site tag (gtag.js) - Google Analytics