authenticationhandlermethodinterceptor.java
来自「CAS在Tomcat中实现单点登录项目,单点登录(Single Sign On 」· Java 代码 · 共 58 行
JAVA
58 行
/* * Copyright 2007 The JA-SIG Collaborative. All rights reserved. See license * distributed with this file and available online at * http://www.ja-sig.org/products/cas/overview/license/ */package org.jasig.cas.event.advice;import org.aopalliance.intercept.MethodInterceptor;import org.aopalliance.intercept.MethodInvocation;import org.jasig.cas.authentication.handler.AuthenticationException;import org.jasig.cas.authentication.principal.Credentials;import org.jasig.cas.event.AuthenticationEvent;import org.springframework.context.ApplicationEventPublisher;import org.springframework.context.ApplicationEventPublisherAware;/** * Advice to advise an AuthenticationHandler such that it checks the return * value returned by the authenticate method and constructs an * AuthenticationEvent that captures the result and publishes it for an * EventHandler to process. * * @author Scott Battaglia * @version $Revision: 42053 $ $Date: 2007-06-10 09:17:55 -0400 (Sun, 10 Jun 2007) $ * @since 3.0 * @see org.jasig.cas.event.AuthenticationEvent */public final class AuthenticationHandlerMethodInterceptor implements MethodInterceptor, ApplicationEventPublisherAware { /** The publisher to publish events. */ private ApplicationEventPublisher applicationEventPublisher; public void setApplicationEventPublisher( final ApplicationEventPublisher applicationEventPublisher) { this.applicationEventPublisher = applicationEventPublisher; } public Object invoke(final MethodInvocation methodInvocation) throws Throwable { try { final Boolean returnValue = (Boolean) methodInvocation.proceed(); this.applicationEventPublisher .publishEvent(new AuthenticationEvent( (Credentials) methodInvocation.getArguments()[0], returnValue.booleanValue(), methodInvocation.getMethod() .getDeclaringClass())); return returnValue; } catch (AuthenticationException e) { this.applicationEventPublisher .publishEvent(new AuthenticationEvent( (Credentials) methodInvocation.getArguments()[0], false, methodInvocation.getMethod().getDeclaringClass())); throw e; } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?