CAS-5.2.6单点登录-自定义密码认证

自定义密码认证查看官网说明:

https://apereo.github.io/cas/5.2.x/installation/Configuration-Properties-Common.html#password-encoding

CAS-5.2.6单点登录-自定义密码认证_第1张图片

CAS的某些方面(如身份验证处理)支持密码编码的配置。大多数选项都基于Spring Security 对密码编码的支持。

如果您计划设计自己的密码编码器或编写脚本来执行此操作,您可能还需要确保覆盖在运行时具有以下模块:


    org.springframework.security
    spring-security-core

如果您需要设计自己的密码编码方案,其中类型被指定为完全限定的Java类名,则类的结构将类似于以下内容:

package org.example.cas;

import org.springframework.security.crypto.codec.*;
import org.springframework.security.crypto.password.*;

public class MyEncoder extends AbstractPasswordEncoder {
    @Override
    protected byte[] encode(CharSequence rawPassword, byte[] salt) {
        return ...
    }
}

通过查看AbstractPasswordEncoder源码,发现抽象类实现了PasswordEncoder接口,实现任意一个都可以。并且内部有encode重载方法,一个返回String类型,一个返回byte[]类型。还有一个matches返回对比结果。

CAS-5.2.6单点登录-自定义密码认证_第2张图片

实现自己的密码验证器:只需要继承AbstractPasswordEncoder 或者实现PasswordEncoder重写里面的方法就行。

替换配置文件中的验证类型:

#默认加密策略,通过encodingAlgorithm来指定算法,默认NONE不加密
#cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
cas.authn.jdbc.query[0].passwordEncoder.type=com.cas.MyEncoder

 CAS-5.2.6单点登录-自定义密码认证_第3张图片

你可能感兴趣的:(单点登陆,单点登陆)