]> source.dussan.org Git - archiva.git/blob
c76ea98f43cf78a778799919926f077cb347ef66
[archiva.git] /
1 package org.apache.archiva.redback.authentication;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import org.apache.archiva.redback.users.User;
23
24 import java.io.Serializable;
25 import java.util.HashMap;
26 import java.util.List;
27 import java.util.Map;
28
29 /**
30  * AuthenticationResult: wrapper object for information that comes back from the authentication system
31  *
32  * @author Jesse McConnell <jesse@codehaus.org>
33  */
34 public class AuthenticationResult
35     implements Serializable
36 {
37
38     private static final long serialVersionUID = 354054054054L;
39
40     private boolean isAuthenticated;
41
42     private String principal;
43
44     /**
45      * as we can search the User store it here for reuse.
46      *
47      * @since 2.1
48      */
49     private User user;
50
51     // TODO: why aren't these just thrown from the authenticate() method?
52     private Exception exception;
53
54     private List<AuthenticationFailureCause> authenticationFailureCauses;
55
56     public AuthenticationResult()
57     {
58         this.isAuthenticated = false;
59         this.principal = null;
60         this.exception = null;
61     }
62
63     public AuthenticationResult( boolean authenticated, String principal, Exception exception )
64     {
65         isAuthenticated = authenticated;
66         this.principal = principal;
67         this.exception = exception;
68     }
69
70     public AuthenticationResult( boolean authenticated, String principal, Exception exception,
71                                  List<AuthenticationFailureCause> authenticationFailureCauses )
72     {
73         isAuthenticated = authenticated;
74         this.principal = principal;
75         this.exception = exception;
76         this.authenticationFailureCauses = authenticationFailureCauses;
77     }
78
79     public boolean isAuthenticated()
80     {
81         return isAuthenticated;
82     }
83
84     public String getPrincipal()
85     {
86         return principal;
87     }
88
89     public Exception getException()
90     {
91         return exception;
92     }
93
94     public List<AuthenticationFailureCause> getAuthenticationFailureCauses()
95     {
96         return authenticationFailureCauses;
97     }
98
99     /**
100      * <b>can be <code>null</code></b>
101      */
102     public User getUser()
103     {
104         return user;
105     }
106
107     public void setUser( User user )
108     {
109         this.user = user;
110     }
111
112     public AuthenticationResult user( User user )
113     {
114         this.setUser( user );
115         return this;
116     }
117
118     public String toString()
119     {
120         StringBuilder sb = new StringBuilder();
121         sb.append( "AuthenticationResult[" );
122         sb.append( "principal=" ).append( principal );
123         sb.append( ",isAuthenticated=" ).append( Boolean.toString( isAuthenticated ) );
124         sb.append( ",exception=" );
125         if ( exception != null )
126         {
127             sb.append( exception.getClass().getName() );
128             sb.append( " : " ).append( exception.getMessage() );
129         }
130         else
131         {
132             sb.append( "<null>" );
133         }
134         sb.append( ']' );
135         return sb.toString();
136     }
137 }