File Information
Library: OSP
Package: Auth
Header: Poco/OSP/Auth/AbstractLDAPAuthAdminService.h
Description
This abstract class implements basic LDAP authentication.
Inheritance
Direct Base Classes: AuthAdminService
All Base Classes: AuthAdminService, AuthService, Poco::OSP::Service, Poco::RefCountedObject
Known Derived Classes: Poco::OSP::Auth::Data::AuthAdminServiceImpl
Member Summary
Member Functions: authenticateLDAP, createOrUpdateUserImpl, escapeLDAP, isExtraAttribute, replacePermissionsForUserImpl, replaceRolesForUserImpl, replaceUserAttributeImpl
Inherited Functions: addRole, addUser, assignRoleToUser, attributesForUser, authenticate, authorize, changePassword, duplicate, effectivePermissionsForUser, findUsersByAttribute, getUserAttribute, grantPermissionsToRole, grantPermissionsToUser, invalidateCaches, isA, isExternalUser, isUserLockedOut, lockOutUser, permissionsForRole, permissionsForUser, referenceCount, release, removeRole, removeRoleFromUser, removeUser, removeUserAttribute, replacePermissionsForRole, replacePermissionsForUser, replaceRolesForUser, replaceUserAttributes, reset, revokePermission, revokePermissionsFromRole, revokePermissionsFromUser, roleExists, roles, rolesForUser, setUserAttribute, type, uncacheUser, unlockOutUser, updateUserAttributes, userEnabled, userExists, users, usersWithAttribute, usersWithName, usersWithPermission, usersWithRole
Nested Classes
struct LDAPParams
Constructors
AbstractLDAPAuthAdminService
AbstractLDAPAuthAdminService(
Poco::Logger & logger,
const LDAPParams & ldapParams
);
Creates the AbstractLDAPAuthAdminService using the given LDAP parameters.
Note: if ldapParams.uri is empty, LDAP authentication will be disabled.
Destructor
~AbstractLDAPAuthAdminService
~AbstractLDAPAuthAdminService();
Destroys the AuthAdminServiceImpl.
Member Functions
escapeLDAP
static std::string escapeLDAP(
const std::string & str
);
Escapes the given string according to LDAP rules.
authenticateLDAP
bool authenticateLDAP(
const std::string & username,
const std::string & credentials
) const;
createOrUpdateUserImpl
virtual void createOrUpdateUserImpl(
const std::string & username,
const std::string & credentials
) const = 0;
isExtraAttribute
bool isExtraAttribute(
const std::string & attr,
std::string & canonicalAttr
) const;
replacePermissionsForUserImpl
virtual void replacePermissionsForUserImpl(
const std::string & username,
const std::set < std::string > & permissions
) const = 0;
replaceRolesForUserImpl
virtual void replaceRolesForUserImpl(
const std::string & username,
const std::set < std::string > & permissions
) const = 0;
replaceUserAttributeImpl
virtual void replaceUserAttributeImpl(
const std::string & username,
const std::string & attribute,
const std::string & value
) const = 0;
Variables
_ldapParams
LDAPParams _ldapParams;
_logger
Poco::Logger & _logger;