CAS 数据库校验
来源:互联网 发布:淘宝客服昵称可以换么 编辑:程序博客网 时间:2024/06/04 18:28
1. UnknownUsernameAuthenticationException --> BadUsernameOrPasswordAuthenticationException --> BadCredentialsAuthenticationException --> AuthenticationException -->
Exception
2. AuthenticationManagerImpl类
调用authenticateAndObtainPrincipal先检查是否支持credentials,
然后authenticationHandler.authenticate(credentials),
然后doAuthentication(credentials) ,
然后authenticateUsernamePasswordInternal((UsernamePasswordCredentials) credentials),
然后QueryDatabaseAuthenticationHandler调用,authenticateUsernamePasswordInternal验证数据库
3. 抛出BadCredentialsAuthenticationException.ERROR异常
/** * @throws IllegalArgumentException * if the ServiceTicketId or the Credentials are null. */ @Audit(action = "PROXY_GRANTING_TICKET", actionResolverName = "GRANT_PROXY_GRANTING_TICKET_RESOLVER", resourceResolverName = "GRANT_PROXY_GRANTING_TICKET_RESOURCE_RESOLVER") @Profiled(tag = "GRANT_PROXY_GRANTING_TICKET", logFailuresSeparately = false) @Transactional(readOnly = false) public String delegateTicketGrantingTicket(final String serviceTicketId, final Credentials credentials) throws TicketException
转化为AuthenticationException e,
转化为TicketCreationException(e)
4. CaptchaAuthenticationViaFormAction类
try { WebUtils.putTicketGrantingTicketInRequestScope(context, this.centralAuthenticationService.createTicketGrantingTicket(credentials)); putWarnCookieIfRequestParameterPresent(context); return "success"; } catch (final TicketException e) { populateErrorsInstance(e, messageContext); return "error"; }捕获异常,进入populateErrorsInstance(e, messageContext);
private void populateErrorsInstance(final TicketException e, final MessageContext messageContext) { try { messageContext.addMessage(new MessageBuilder().error().code(e.getCode()).defaultText(e.getCode()).build()); } catch (final Exception fe) { logger.error(fe.getMessage(), fe); } }通过MessageContext,Spring的机制输出到页面<form:form errors/>
0 0
- CAS 数据库校验
- cas数据库
- 校验 数据库 乱码 捕获
- 数据库备份的校验
- CAS的数据库查询验证
- sso 单点登录cas使用(2): cas 4.2.7 maven cas-overlay服务端数据库配置
- CAS
- CAS
- CAS
- cas
- CAS
- cas
- CAS
- cas
- cas
- CAS
- CAS
- CAS
- FZU 2150 Fire Game
- android 读取Bitmap的几种方式
- microsoft office professional plus2007在安装过程中出错
- (水)POJ-1321 棋盘问题
- poj 1419
- CAS 数据库校验
- Android中日历控件的使用
- 【静下心学习Unity】学习笔记 (一)简介
- 记录几个仓库地址,方便找各种jar包
- JAVA集合(2)
- 获取屏幕尺寸 及 动态设置组件尺寸
- JSP内置对象out
- git .gitignore失效的解决办法
- JAVA随机字符