01: /*
02: * $Id: UnauthorisedException.java 10489 2008-01-23 17:53:38Z dfeist $
03: * --------------------------------------------------------------------------------------
04: * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
05: *
06: * The software in this package is published under the terms of the CPAL v1.0
07: * license, a copy of which has been included with this distribution in the
08: * LICENSE.txt file.
09: */
10:
11: package org.mule.api.security;
12:
13: import org.mule.RequestContext;
14: import org.mule.api.MuleMessage;
15: import org.mule.api.endpoint.ImmutableEndpoint;
16: import org.mule.config.i18n.CoreMessages;
17: import org.mule.config.i18n.Message;
18:
19: /**
20: * <code>UnauthorisedException</code> is thrown if authentication fails
21: */
22:
23: public class UnauthorisedException extends SecurityException {
24: /**
25: * Serial version
26: */
27: private static final long serialVersionUID = -6664384216189042672L;
28:
29: public UnauthorisedException(Message message) {
30: super (message, RequestContext.getEventContext().getMessage());
31: }
32:
33: public UnauthorisedException(Message message, Throwable cause) {
34: super (message, RequestContext.getEventContext().getMessage(),
35: cause);
36: }
37:
38: public UnauthorisedException(Message message, MuleMessage umoMessage) {
39: super (message, umoMessage);
40: }
41:
42: public UnauthorisedException(Message message,
43: MuleMessage umoMessage, Throwable cause) {
44: super (message, umoMessage, cause);
45: }
46:
47: public UnauthorisedException(MuleMessage umoMessage,
48: SecurityContext context, ImmutableEndpoint endpoint,
49: EndpointSecurityFilter filter) {
50: super (constructMessage(context, endpoint, filter), umoMessage);
51: }
52:
53: private static Message constructMessage(SecurityContext context,
54: ImmutableEndpoint endpoint, EndpointSecurityFilter filter) {
55:
56: Message m = null;
57: if (context == null) {
58: m = CoreMessages.authSetButNoContext(filter.getClass()
59: .getName());
60: } else {
61: m = CoreMessages.authFailedForUser(context
62: .getAuthentication().getPrincipal());
63: }
64: m.setNextMessage(CoreMessages.authDeniedOnEndpoint(endpoint
65: .getEndpointURI()));
66: return m;
67: }
68: }
|