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 }