1 /*
2 * This file is part of Waarp Project (named also Waarp or GG).
3 *
4 * Copyright (c) 2019, Waarp SAS, and individual contributors by the @author
5 * tags. See the COPYRIGHT.txt in the distribution for a full listing of
6 * individual contributors.
7 *
8 * All Waarp Project is free software: you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or (at your
11 * option) any later version.
12 *
13 * Waarp is distributed in the hope that it will be useful, but WITHOUT ANY
14 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * Waarp . If not, see <http://www.gnu.org/licenses/>.
19 */
20
21 package org.waarp.http.protocol.servlet;
22
23 import org.waarp.http.protocol.HttpSession;
24 import org.waarp.openr66.context.R66Session;
25
26 import java.util.Map;
27
28 /**
29 * Interface for authentication used by the Servlet or other ways (according to
30 * implementations)
31 */
32 public interface HttpAuthent {
33 String FIELD_USER = "user";
34 String FIELD_KEY = "key";
35
36 /**
37 * Method to setup authentication using servlet arguments
38 *
39 * @param arguments Map of all arguments as String
40 */
41 void initializeAuthent(Map<String, String> arguments);
42
43 /**
44 * Method to check authentication
45 *
46 * @param httpSession
47 * @param session
48 *
49 * @throws IllegalArgumentException
50 */
51 void checkAuthent(final HttpSession httpSession, final R66Session session)
52 throws IllegalArgumentException;
53
54 /**
55 * @return the user Id
56 */
57 String getUserId();
58
59 /**
60 * Finalize the transfer according to status in sessions
61 *
62 * @param httpSession
63 * @param session
64 *
65 * @throws IllegalArgumentException
66 */
67 void finalizeTransfer(final HttpSession httpSession, final R66Session session)
68 throws IllegalArgumentException;
69 }