Mercurial Hosting > luan
comparison src/org/eclipse/jetty/server/Authentication.java @ 802:3428c60d7cfc
replace jetty jars with source
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 07 Sep 2016 21:15:48 -0600 |
parents | |
children | f8f7cb485c25 |
comparison
equal
deleted
inserted
replaced
801:6a21393191c1 | 802:3428c60d7cfc |
---|---|
1 // | |
2 // ======================================================================== | |
3 // Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd. | |
4 // ------------------------------------------------------------------------ | |
5 // All rights reserved. This program and the accompanying materials | |
6 // are made available under the terms of the Eclipse Public License v1.0 | |
7 // and Apache License v2.0 which accompanies this distribution. | |
8 // | |
9 // The Eclipse Public License is available at | |
10 // http://www.eclipse.org/legal/epl-v10.html | |
11 // | |
12 // The Apache License v2.0 is available at | |
13 // http://www.opensource.org/licenses/apache2.0.php | |
14 // | |
15 // You may elect to redistribute this code under either of these licenses. | |
16 // ======================================================================== | |
17 // | |
18 | |
19 package org.eclipse.jetty.server; | |
20 | |
21 import javax.servlet.ServletRequest; | |
22 import javax.servlet.ServletResponse; | |
23 import javax.servlet.http.HttpServletRequest; | |
24 import javax.servlet.http.HttpServletResponse; | |
25 | |
26 | |
27 /* ------------------------------------------------------------ */ | |
28 /** The Authentication state of a request. | |
29 * <p> | |
30 * The Authentication state can be one of several sub-types that | |
31 * reflects where the request is in the many different authentication | |
32 * cycles. Authentication might not yet be checked or it might be checked | |
33 * and failed, checked and deferred or succeeded. | |
34 * | |
35 */ | |
36 public interface Authentication | |
37 { | |
38 /* ------------------------------------------------------------ */ | |
39 /** A successful Authentication with User information. | |
40 */ | |
41 public interface User extends Authentication | |
42 { | |
43 String getAuthMethod(); | |
44 UserIdentity getUserIdentity(); | |
45 boolean isUserInRole(UserIdentity.Scope scope,String role); | |
46 void logout(); | |
47 } | |
48 | |
49 /* ------------------------------------------------------------ */ | |
50 /** A wrapped authentication with methods provide the | |
51 * wrapped request/response for use by the application | |
52 */ | |
53 public interface Wrapped extends Authentication | |
54 { | |
55 HttpServletRequest getHttpServletRequest(); | |
56 HttpServletResponse getHttpServletResponse(); | |
57 } | |
58 | |
59 /* ------------------------------------------------------------ */ | |
60 /** A deferred authentication with methods to progress | |
61 * the authentication process. | |
62 */ | |
63 public interface Deferred extends Authentication | |
64 { | |
65 /* ------------------------------------------------------------ */ | |
66 /** Authenticate if possible without sending a challenge. | |
67 * This is used to check credentials that have been sent for | |
68 * non-manditory authentication. | |
69 * @return The new Authentication state. | |
70 */ | |
71 Authentication authenticate(ServletRequest request); | |
72 | |
73 /* ------------------------------------------------------------ */ | |
74 /** Authenticate and possibly send a challenge. | |
75 * This is used to initiate authentication for previously | |
76 * non-manditory authentication. | |
77 * @return The new Authentication state. | |
78 */ | |
79 Authentication authenticate(ServletRequest request,ServletResponse response); | |
80 | |
81 | |
82 /* ------------------------------------------------------------ */ | |
83 /** Login with the LOGIN authenticator | |
84 * @param username | |
85 * @param password | |
86 * @return The new Authentication state | |
87 */ | |
88 Authentication login(String username,Object password,ServletRequest request); | |
89 } | |
90 | |
91 | |
92 /* ------------------------------------------------------------ */ | |
93 /** Authentication Response sent state. | |
94 * Responses are sent by authenticators either to issue an | |
95 * authentication challenge or on successful authentication in | |
96 * order to redirect the user to the original URL. | |
97 */ | |
98 public interface ResponseSent extends Authentication | |
99 { | |
100 } | |
101 | |
102 /* ------------------------------------------------------------ */ | |
103 /** An Authentication Challenge has been sent. | |
104 */ | |
105 public interface Challenge extends ResponseSent | |
106 { | |
107 } | |
108 | |
109 /* ------------------------------------------------------------ */ | |
110 /** An Authentication Failure has been sent. | |
111 */ | |
112 public interface Failure extends ResponseSent | |
113 { | |
114 } | |
115 | |
116 public interface SendSuccess extends ResponseSent | |
117 { | |
118 } | |
119 | |
120 /* ------------------------------------------------------------ */ | |
121 /** Unauthenticated state. | |
122 * <p> | |
123 * This convenience instance is for non mandatory authentication where credentials | |
124 * have been presented and checked, but failed authentication. | |
125 */ | |
126 public final static Authentication UNAUTHENTICATED = new Authentication(){@Override | |
127 public String toString(){return "UNAUTHENTICATED";}}; | |
128 | |
129 /* ------------------------------------------------------------ */ | |
130 /** Authentication not checked | |
131 * <p> | |
132 * This convenience instance us for non mandatory authentication when no | |
133 * credentials are present to be checked. | |
134 */ | |
135 public final static Authentication NOT_CHECKED = new Authentication(){@Override | |
136 public String toString(){return "NOT CHECKED";}}; | |
137 | |
138 /* ------------------------------------------------------------ */ | |
139 /** Authentication challenge sent. | |
140 * <p> | |
141 * This convenience instance is for when an authentication challenge has been sent. | |
142 */ | |
143 public final static Authentication SEND_CONTINUE = new Authentication.Challenge(){@Override | |
144 public String toString(){return "CHALLENGE";}}; | |
145 | |
146 /* ------------------------------------------------------------ */ | |
147 /** Authentication failure sent. | |
148 * <p> | |
149 * This convenience instance is for when an authentication failure has been sent. | |
150 */ | |
151 public final static Authentication SEND_FAILURE = new Authentication.Failure(){@Override | |
152 public String toString(){return "FAILURE";}}; | |
153 public final static Authentication SEND_SUCCESS = new SendSuccess(){@Override | |
154 public String toString(){return "SEND_SUCCESS";}}; | |
155 } |