lintel 0.2.0
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
lintel::Group Class Reference

#include <Group.h>

Public Member Functions

 Group (std::string groupName, std::vector< Group > groups, bool isVirtual)
 
const std::string & getGroupName () const
 
const std::vector< Group > & getGroups () const
 
bool isVirtual () const
 
bool operator== (const Group &rhs) const
 
bool operator!= (const Group &rhs) const
 
bool operator< (const Group &rhs) const
 
bool operator> (const Group &rhs) const
 
bool operator<= (const Group &rhs) const
 
bool operator>= (const Group &rhs) const
 

Friends

std::ostream & operator<< (std::ostream &os, const Group &group)
 

Detailed Description

Way to control access rights. The following rules are used to assign groups to different groups

  1. You cannot assign the same group to groups (no circles)
  2. You can only connect with no listed groups (only base groups for collecting groups)
  3. Collecting groups are used for something like Admin groups

Example: For example you can use non assign able groups to define the access rights for new parts of the software. Something like a _PropertyGroupMember or _PropertyGroupAdmin. Those groups are used in the PropertyController itself to define check the access rights itself.

The user is than not assigned to the mentioned groups. There is something like Administrator or Member which contains those virtual groups.

Those virtual groups are collected via an Abstract class interface and are not persisted in the database.

An separate service will check the validation of the users. This validation will be checked during the login process and not periodically, bc. of the possibility of a high count of users, but there will be the possibility to trigger those checks via the cli itself.

Constructor & Destructor Documentation

◆ Group()

lintel::Group::Group ( std::string  groupName,
std::vector< Group >  groups,
bool  isVirtual 
)

Constructor.

Parameters
groupNamename of the group
groupssub-groups of this group
isVirtualwhether this group is virtual (not persisted)

Member Function Documentation

◆ getGroupName()

const std::string & lintel::Group::getGroupName ( ) const
Returns
group name

◆ getGroups()

const std::vector< Group > & lintel::Group::getGroups ( ) const
Returns
sub-groups of this group

◆ isVirtual()

bool lintel::Group::isVirtual ( ) const
Returns
true if this group is virtual

◆ operator!=()

bool lintel::Group::operator!= ( const Group &  rhs) const
Returns
true if groups are not equal

◆ operator<()

bool lintel::Group::operator< ( const Group &  rhs) const
Returns
true if this group is less than rhs

◆ operator<=()

bool lintel::Group::operator<= ( const Group &  rhs) const
Returns
true if this group is less than or equal to rhs

◆ operator==()

bool lintel::Group::operator== ( const Group &  rhs) const
Returns
true if groups are equal

◆ operator>()

bool lintel::Group::operator> ( const Group &  rhs) const
Returns
true if this group is greater than rhs

◆ operator>=()

bool lintel::Group::operator>= ( const Group &  rhs) const
Returns
true if this group is greater than or equal to rhs

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
const Group &  group 
)
friend
Returns
stream representation of the group

The documentation for this class was generated from the following file: