Leosac
0.8.0
Open Source Access Control
|
Holds classes relevant to the Authentication and Authorization subsystem. More...
Classes | |
class | AccessPoint |
struct | AccessPointBackend |
An AccessPointBackend object is used for module to provide implementation for access point CRUD operations. More... | |
class | AccessPointService |
This service lets various AccessPoint backend register and provide implementation to use by the AccessPointCRUD object. More... | |
class | AccessPointUpdate |
class | AuthSourceBuilder |
This class is some kind of factory to create IAuthenticationSource object from a zmqpp::message sent by a AuthSource module (eg Wiegand). More... | |
class | AuthTarget |
Represent an object that we are authorizing against (a door). More... | |
class | BaseAuthSource |
class | Door |
Represent a door. More... | |
class | Group |
A authentication group regroup users that share permissions. More... | |
class | GroupValidator |
Validate a Group object's attributes, throwing ModelException if some attributes are invalid. More... | |
class | IAccessPoint |
An interface for access point. More... | |
class | IAccessProfile |
Holds information about access permission. More... | |
class | IAuthenticationSource |
An Auth source is a card id, a pin code, a fingerprint, etc... More... | |
class | IAuthSourceMapper |
Base class to perform abstracted mapping operation over various AuthSource object. More... | |
class | IDoor |
A door. More... | |
class | IZone |
The interface for zones. More... | |
class | ProfileMerger |
Helper class that merges profile together. More... | |
class | SimpleAccessProfile |
Concrete implementation of a simple access control class. More... | |
class | Token |
An authentication token used for authenticating a user against Leosac. More... | |
class | User |
Represent a user. More... | |
class | UserGroupMembership |
Describe the membership of an User with regroup to a Group. More... | |
struct | UserGroupMembershipComparator |
Compares 2 UserGroupMembership object. More... | |
class | ValidityInfo |
A simple class that stores (and can be queried for) the validity of some objects. More... | |
class | Zone |
A Zone is a container for doors and other zone. More... | |
class | ZoneValidator |
Typedefs | |
using | UserPtr = std::shared_ptr< User > |
using | UserLPtr = odb::lazy_shared_ptr< User > |
using | UserLWPtr = odb::lazy_weak_ptr< User > |
using | UserId = unsigned long |
using | GroupPtr = std::shared_ptr< Group > |
using | GroupWPtr = std::weak_ptr< Group > |
using | GroupLWPtr = odb::lazy_weak_ptr< Group > |
using | GroupLPtr = odb::lazy_shared_ptr< Group > |
using | GroupId = unsigned long |
using | SimpleAccessProfilePtr = std::shared_ptr< SimpleAccessProfile > |
using | UserGroupMembershipPtr = std::shared_ptr< UserGroupMembership > |
using | UserGroupMembershipId = unsigned long |
using | TokenPtr = std::shared_ptr< Token > |
using | IAccessProfilePtr = std::shared_ptr< IAccessProfile > |
using | AuthTargetPtr = std::shared_ptr< AuthTarget > |
using | IAuthenticationSourcePtr = std::shared_ptr< IAuthenticationSource > |
using | BaseAuthSourcePtr = std::shared_ptr< BaseAuthSource > |
using | IDoorPtr = std::shared_ptr< IDoor > |
using | IDoorLPtr = odb::lazy_shared_ptr< IDoor > |
using | IDoorLWPtr = odb::lazy_weak_ptr< IDoor > |
using | DoorId = unsigned long |
using | DoorLWPtr = odb::lazy_weak_ptr< Door > |
using | DoorLPtr = odb::lazy_shared_ptr< Door > |
using | DoorPtr = std::shared_ptr< Door > |
using | IZonePtr = std::shared_ptr< IZone > |
using | IZoneLPtr = odb::lazy_shared_ptr< IZone > |
using | IZoneLWPtr = odb::lazy_weak_ptr< IZone > |
using | ZoneId = unsigned long |
using | ZoneLWPtr = odb::lazy_weak_ptr< Zone > |
using | ZoneLPtr = odb::lazy_shared_ptr< Zone > |
using | ZonePtr = std::shared_ptr< Zone > |
using | IAccessPointPtr = std::shared_ptr< IAccessPoint > |
using | AccessPointId = unsigned long |
using | AccessPointLWPtr = odb::lazy_weak_ptr< AccessPoint > |
using | AccessPointLPtr = odb::lazy_shared_ptr< AccessPoint > |
using | AccessPointPtr = std::shared_ptr< AccessPoint > |
using | AccessPointUpdatePtr = std::shared_ptr< AccessPointUpdate > |
using | AccessPointUpdateLPtr = odb::lazy_shared_ptr< AccessPointUpdate > |
using | UserGroupMembershipSet = std::set< UserGroupMembershipPtr, UserGroupMembershipComparator > |
Enumerations | |
enum | SourceType : uint8_t { SourceType::SIMPLE_WIEGAND = 1, SourceType::WIEGAND_PIN = 2, SourceType::WIEGAND_CARD_PIN = 3, SourceType::SIMPLE_CSN = 4 } |
enum | AccessStatus : uint8_t { AccessStatus::GRANTED = 1, AccessStatus::DENIED = 2 } |
enum | GroupRank { GroupRank::MEMBER = 0, GroupRank::OPERATOR = 1, GroupRank::ADMIN = 2 } |
The rank of an User inside a Group. More... | |
enum | UserRank { UserRank::USER = 0, UserRank::VIEWER = 1, UserRank::MANAGER = 2, UserRank::SUPERVISOR = 3, UserRank::ADMIN = 4 } |
Holds classes relevant to the Authentication and Authorization subsystem.
This namespace defines interface and concrete implementation of some class useful in the authentication and authorization system. Authentication module will likely make direct use of this part of Leosac.
using Leosac::Auth::AccessPointId = typedef unsigned long |
Definition at line 128 of file AuthFwd.hpp.
using Leosac::Auth::AccessPointLPtr = typedef odb::lazy_shared_ptr<AccessPoint> |
Definition at line 132 of file AuthFwd.hpp.
using Leosac::Auth::AccessPointLWPtr = typedef odb::lazy_weak_ptr<AccessPoint> |
Definition at line 131 of file AuthFwd.hpp.
using Leosac::Auth::AccessPointPtr = typedef std::shared_ptr<AccessPoint> |
Definition at line 133 of file AuthFwd.hpp.
using Leosac::Auth::AccessPointUpdateLPtr = typedef odb::lazy_shared_ptr<AccessPointUpdate> |
Definition at line 137 of file AuthFwd.hpp.
using Leosac::Auth::AccessPointUpdatePtr = typedef std::shared_ptr<AccessPointUpdate> |
Definition at line 136 of file AuthFwd.hpp.
typedef std::shared_ptr< AuthTarget > Leosac::Auth::AuthTargetPtr |
Definition at line 93 of file AuthFwd.hpp.
typedef std::shared_ptr< BaseAuthSource > Leosac::Auth::BaseAuthSourcePtr |
Definition at line 99 of file AuthFwd.hpp.
using Leosac::Auth::DoorId = typedef unsigned long |
Definition at line 107 of file AuthFwd.hpp.
using Leosac::Auth::DoorLPtr = typedef odb::lazy_shared_ptr<Door> |
Definition at line 111 of file AuthFwd.hpp.
using Leosac::Auth::DoorLWPtr = typedef odb::lazy_weak_ptr<Door> |
Definition at line 110 of file AuthFwd.hpp.
using Leosac::Auth::DoorPtr = typedef std::shared_ptr<Door> |
Definition at line 112 of file AuthFwd.hpp.
using Leosac::Auth::GroupId = typedef unsigned long |
Definition at line 41 of file AuthFwd.hpp.
using Leosac::Auth::GroupLPtr = typedef odb::lazy_shared_ptr<Group> |
Definition at line 40 of file AuthFwd.hpp.
using Leosac::Auth::GroupLWPtr = typedef odb::lazy_weak_ptr<Group> |
Definition at line 39 of file AuthFwd.hpp.
using Leosac::Auth::GroupPtr = typedef std::shared_ptr<Group> |
Definition at line 37 of file AuthFwd.hpp.
using Leosac::Auth::GroupWPtr = typedef std::weak_ptr<Group> |
Definition at line 38 of file AuthFwd.hpp.
using Leosac::Auth::IAccessPointPtr = typedef std::shared_ptr<IAccessPoint> |
Definition at line 127 of file AuthFwd.hpp.
typedef std::shared_ptr< IAccessProfile > Leosac::Auth::IAccessProfilePtr |
Definition at line 88 of file AuthFwd.hpp.
typedef std::shared_ptr< IAuthenticationSource > Leosac::Auth::IAuthenticationSourcePtr |
Definition at line 96 of file AuthFwd.hpp.
using Leosac::Auth::IDoorLPtr = typedef odb::lazy_shared_ptr<IDoor> |
Definition at line 105 of file AuthFwd.hpp.
using Leosac::Auth::IDoorLWPtr = typedef odb::lazy_weak_ptr<IDoor> |
Definition at line 106 of file AuthFwd.hpp.
using Leosac::Auth::IDoorPtr = typedef std::shared_ptr<IDoor> |
Definition at line 104 of file AuthFwd.hpp.
using Leosac::Auth::IZoneLPtr = typedef odb::lazy_shared_ptr<IZone> |
Definition at line 117 of file AuthFwd.hpp.
using Leosac::Auth::IZoneLWPtr = typedef odb::lazy_weak_ptr<IZone> |
Definition at line 118 of file AuthFwd.hpp.
using Leosac::Auth::IZonePtr = typedef std::shared_ptr<IZone> |
Definition at line 116 of file AuthFwd.hpp.
using Leosac::Auth::SimpleAccessProfilePtr = typedef std::shared_ptr<SimpleAccessProfile> |
Definition at line 44 of file AuthFwd.hpp.
using Leosac::Auth::TokenPtr = typedef std::shared_ptr<Token> |
Definition at line 85 of file AuthFwd.hpp.
using Leosac::Auth::UserGroupMembershipId = typedef unsigned long |
Definition at line 82 of file AuthFwd.hpp.
using Leosac::Auth::UserGroupMembershipPtr = typedef std::shared_ptr<UserGroupMembership> |
Definition at line 81 of file AuthFwd.hpp.
using Leosac::Auth::UserGroupMembershipSet = typedef std::set<UserGroupMembershipPtr, UserGroupMembershipComparator> |
Definition at line 96 of file UserGroupMembership.hpp.
using Leosac::Auth::UserId = typedef unsigned long |
Definition at line 34 of file AuthFwd.hpp.
using Leosac::Auth::UserLPtr = typedef odb::lazy_shared_ptr<User> |
Definition at line 32 of file AuthFwd.hpp.
using Leosac::Auth::UserLWPtr = typedef odb::lazy_weak_ptr<User> |
Definition at line 33 of file AuthFwd.hpp.
using Leosac::Auth::UserPtr = typedef std::shared_ptr<User> |
Definition at line 31 of file AuthFwd.hpp.
using Leosac::Auth::ZoneId = typedef unsigned long |
Definition at line 119 of file AuthFwd.hpp.
using Leosac::Auth::ZoneLPtr = typedef odb::lazy_shared_ptr<Zone> |
Definition at line 123 of file AuthFwd.hpp.
using Leosac::Auth::ZoneLWPtr = typedef odb::lazy_weak_ptr<Zone> |
Definition at line 122 of file AuthFwd.hpp.
using Leosac::Auth::ZonePtr = typedef std::shared_ptr<Zone> |
Definition at line 124 of file AuthFwd.hpp.
|
strong |
|
strong |
The rank of an User inside a Group.
Enumerator | |
---|---|
MEMBER | |
OPERATOR | |
ADMIN |
Definition at line 49 of file AuthFwd.hpp.
|
strong |
Enumerator | |
---|---|
SIMPLE_WIEGAND | This define message formatting for data source SIMPLE_WIEGAND. You can find out more here. |
WIEGAND_PIN | Message formatting when using a simple PIN code. |
WIEGAND_CARD_PIN | When reading both a card an a PIN code. |
SIMPLE_CSN | A simple Card Serial Number. It is represented as an hexadecimal string. |
|
strong |
Definition at line 56 of file AuthFwd.hpp.