View Javadoc

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  }