dmlite
0.4
Main Page
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&);
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
};
49
50
class
BuiltInAuthnFactory
:
public
AuthnFactory
{
51
public
:
52
BuiltInAuthnFactory
();
53
~BuiltInAuthnFactory
();
54
55
void
configure
(
const
std::string& key,
const
std::string& value)
throw
(
DmException
);
56
57
Authn
*
createAuthn
(
PluginManager
* pm)
throw
(
DmException
);
58
59
private
:
60
std::string
nobody_
;
61
};
62
63
};
64
65
#endif // BUILTIN_AUTHN_H
Generated on Fri Oct 26 2012 15:18:55 for dmlite by
1.8.1.2