Cas客户端session同步

背景:对于接入同一个Cas服务的子系统,我们需要让保存的Session内容一致。

1.CAS-Server服务中自定义AuthenticationHandler继承自AbstractUsernamePasswordAuthenticationHandler覆盖authenticateUsernamePasswordInternal方法-用户认证方法

@Override
protected HandlerResult authenticateUsernamePasswordInternal(UsernamePasswordCredential transformedCredential,
      String originalPassword) throws GeneralSecurityException, PreventedException {
   String username = transformedCredential.getUsername();
   //TODO 根据用户名查到用户更多信息并放入map中
   Map<String,Object> result = new HashMap<>();
   
   return createHandlerResult(transformedCredential, principalFactory.createPrincipal(username,result), null);
}

2.cas-client-core客户端,自定义CustomCas30ProxyReceivingTicketValidationFilter继承Cas30ProxyReceivingTicketValidationFilter实现onSuccessfulValidation

@Override
protected void onSuccessfulValidation(HttpServletRequest request, HttpServletResponse response, Assertion assertion) {
    String dcpLoginInfo = (String) assertion.getPrincipal().getAttributes().get(DCP_LOGIN_INFO);
    request.getSession().setAttribute(DCP_LOGIN_INFO,dcpLoginInfo);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值