dmlite
0.6
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
core
builtin
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
20
SecurityContext
*
createSecurityContext
(
const
SecurityCredentials
& cred)
throw
(
DmException
);
21
22
GroupInfo
newGroup
(
const
std::string& gname)
throw
(
DmException
);
23
GroupInfo
getGroup
(gid_t gid)
throw
(
DmException
);
24
GroupInfo
getGroup
(
const
std::string& groupName)
throw
(
DmException
);
25
GroupInfo
getGroup
(
const
std::string& key,
26
const
boost::any& value)
throw
(
DmException
);
27
void
updateGroup
(
const
GroupInfo
& group)
throw
(
DmException
);
28
void
deleteGroup
(
const
std::string& groupName)
throw
(
DmException
);
29
30
UserInfo
newUser
(
const
std::string& uname)
throw
(
DmException
);
31
UserInfo
getUser
(
const
std::string& userName)
throw
(
DmException
);
32
UserInfo
getUser
(
const
std::string& userName,
33
gid_t* group)
throw
(
DmException
);
34
UserInfo
getUser
(
const
std::string& key,
35
const
boost::any& value)
throw
(
DmException
);
36
void
updateUser
(
const
UserInfo
& user)
throw
(
DmException
);
37
void
deleteUser
(
const
std::string& userName)
throw
(
DmException
);
38
39
std::vector<GroupInfo>
getGroups
(
void
)
throw
(
DmException
);
40
std::vector<UserInfo>
getUsers
(
void
)
throw
(
DmException
);
41
42
void
getIdMap
(
const
std::string& userName,
43
const
std::vector<std::string>& groupNames,
44
UserInfo
* user,
45
std::vector<GroupInfo>* groups)
throw
(
DmException
);
46
private
:
47
std::string
nobody_
;
48
std::string
nogroup_
;
49
};
50
51
class
BuiltInAuthnFactory
:
public
AuthnFactory
{
52
public
:
53
BuiltInAuthnFactory
();
54
~BuiltInAuthnFactory
();
55
56
void
configure
(
const
std::string& key,
const
std::string& value)
throw
(
DmException
);
57
58
Authn
*
createAuthn
(
PluginManager
* pm)
throw
(
DmException
);
59
60
private
:
61
std::string
nobody_
;
62
std::string
nogroup_
;
63
};
64
65
};
66
67
#endif // BUILTIN_AUTHN_H
Generated on Wed May 7 2014 05:40:38 for dmlite by
1.8.3.1