修改CAS框架源码实现多字段认证单点登录

一般我们都使用查询数据库用户表方式处理认证。

如图,deployerConfigContext.xml配置文件中配置:



我们是用反编译工具可以看到QueryDatabaseAuthenticationHandler这个接口的具体实现,如下直接贴出源码:

package org.jasig.cas.adaptors.jdbc;


import java.security.GeneralSecurityException;
import javax.security.auth.login.AccountNotFoundException;
import javax.security.auth.login.FailedLoginException;
import javax.validation.constraints.NotNull;
import org.jasig.cas.authentication.HandlerResult;
import org.jasig.cas.authentication.PreventedException;
import org.jasig.cas.authentication.UsernamePasswordCredential;
import org.jasig.cas.authentication.handler.PasswordEncoder;
import org.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CAS(Central Authentication Service)是一种单点登录协议,可以实现在多个应用系统中,用户只需要登录一次就可以访问所有应用系统。 要实现CAS单点登录,需要以下步骤: 1. 部署CAS服务器:CAS服务器是一个独立的单点登录服务器,可以独立部署或者和其他应用部署在同一台服务器上。 2. 配置CAS服务器:CAS服务器需要配置认证方式、用户信息源等信息。可以使用LDAP、数据库等多种方式来存储用户信息。 3. 集成应用系统:在每个需要单点登录的应用系统中,需要添加CAS客户端组件,与CAS服务器进行通信,实现单点登录功能。 4. 用户认证流程:当用户访问一个需要认证的应用系统时,应用系统会重定向到CAS服务器进行认证;如果用户已经登录过其他应用系统,则CAS服务器会返回认证成功的信息,并重定向回应用系统,同时在用户浏览器中设置一个CAS票据;如果用户没有登录过,则CAS服务器会要求用户进行认证,并在认证成功后返回CAS票据。 5. 应用系统认证流程:当用户访问其他应用系统时,应用系统会检查用户浏览器中是否存在CAS票据,如果存在,则向CAS服务器发送请求,验证票据是否有效;如果有效,则认为用户已经通过认证,允许用户访问应用系统;如果无效,则要求用户重新进行认证。 以上是CAS单点登录的基本实现步骤,具体实现细节会因为不同的应用场景和技术栈而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值