1 /*
2 * Copyright (C) 2017-2019 Centre National d'Etudes Spatiales (CNES).
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 3.0 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17 * MA 02110-1301 USA
18 */
19 package fr.cnes.doi.db;
20
21 import java.util.List;
22
23 import fr.cnes.doi.exception.AuthenticationAccessException;
24 import fr.cnes.doi.db.model.AuthSystemUser;
25
26 /**
27 * This interfaces handles authentications operations.
28 *
29 * @author Jean-Christophe Malapert (jean-christophe.malapert@cnes.fr)
30 */
31 public interface IAuthenticationDBHelper {
32
33 /**
34 * Returns the authentication members.
35 *
36 * @return the authentication members
37 * @throws AuthenticationAccessException When a problem occurs
38 */
39 public List<AuthSystemUser> getDOIProjectMembers() throws AuthenticationAccessException;
40
41 /**
42 * Authenticates an user via the authentication service.
43 *
44 * @param login login
45 * @param password password
46 * @return True when the user is authenticated otherwise False.
47 */
48 public boolean authenticateUser(final String login, final String password);
49
50 /**
51 * Returns the user from the authentication access, which will be the
52 * administrator of DOI server.
53 *
54 * @return the administrator
55 */
56 public String getDOIAdmin();
57
58 }