001 /* 002 * Copyright (c) 2002-2005 the original author or authors. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 005 * use this file except in compliance with the License. You may obtain a copy of 006 * the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 013 * License for the specific language governing permissions and limitations under 014 * the License. 015 */ 016 package org.springframework.richclient.security; 017 018 import org.springframework.security.Authentication; 019 import org.springframework.security.SpringSecurityException; 020 021 /** 022 * Event fired when an authentication attempt fails. 023 * <p> 024 * The source of this event is the <code>Authentication</code> token that resulted in 025 * the authentication failure. This event also carries the exception that indicated the 026 * failure, {@see #getCause()}. 027 * 028 * @author Larry Streepy 029 */ 030 public class AuthenticationFailedEvent extends ClientSecurityEvent { 031 032 private SpringSecurityException cause; 033 034 /** 035 * Constructor. Use the given authentication token as the source of the event. 036 * @param authentication token 037 * @param cause The exception that caused the login failure 038 */ 039 public AuthenticationFailedEvent(Authentication authentication, SpringSecurityException cause) { 040 super( authentication ); 041 setCause( cause ); 042 } 043 044 /** 045 * Get the exception that caused the login failure 046 * @return causing exception 047 */ 048 public SpringSecurityException getCause() { 049 return cause; 050 } 051 052 /** 053 * Set the exception that caused this login failure. 054 * @param cause 055 */ 056 public void setCause(SpringSecurityException cause) { 057 this.cause = cause; 058 } 059 }