dmlite  0.6
Authn.h
Go to the documentation of this file.
1 /// @file core/builtin/Authn.h
2 /// @brief User and group mapping using the system's ones.
3 /// @details This will be used by default when no other Authn
4 /// implementeation is loaded.
5 /// @author Alejandro Álvarez Ayllon <aalvarez@cern.ch>
6 #ifndef BUILTIN_AUTHN_H
7 #define BUILTIN_AUTHN_H
8 
9 #include <dmlite/cpp/authn.h>
10 
11 namespace dmlite {
12 
13  class BuiltInAuthn: public Authn {
14  public:
15  BuiltInAuthn(const std::string&, const std::string&);
16  ~BuiltInAuthn();
17 
18  std::string getImplId(void) const throw();
19 
22 
23  GroupInfo newGroup (const std::string& gname) throw (DmException);
24  GroupInfo getGroup (gid_t gid) throw (DmException);
25  GroupInfo getGroup (const std::string& groupName) throw (DmException);
26  GroupInfo getGroup (const std::string& key,
27  const boost::any& value) throw (DmException);
28  void updateGroup(const GroupInfo& group) throw (DmException);
29  void deleteGroup(const std::string& groupName) throw (DmException);
30 
31  UserInfo newUser (const std::string& uname) throw (DmException);
32  UserInfo getUser (const std::string& userName) throw (DmException);
33  UserInfo getUser (const std::string& userName,
34  gid_t* group) throw (DmException);
35  UserInfo getUser (const std::string& key,
36  const boost::any& value) throw (DmException);
37  void updateUser(const UserInfo& user) throw (DmException);
38  void deleteUser(const std::string& userName) throw (DmException);
39 
40  std::vector<GroupInfo> getGroups(void) throw (DmException);
41  std::vector<UserInfo> getUsers (void) throw (DmException);
42 
43  void getIdMap(const std::string& userName,
44  const std::vector<std::string>& groupNames,
45  UserInfo* user,
46  std::vector<GroupInfo>* groups) throw (DmException);
47  private:
48  std::string nobody_;
49  std::string nogroup_;
50  };
51 
53  public:
56 
57  void configure(const std::string& key, const std::string& value) throw (DmException);
58 
60 
61  private:
62  std::string nobody_;
63  std::string nogroup_;
64  };
65 
66 };
67 
68 #endif // BUILTIN_AUTHN_H