Documentation ¶
Index ¶
- type DatabaseService
- func (databaseService *DatabaseService) AddActiveRole(userId int, sessionName, roleName string) (bool, error)
- func (databaseService *DatabaseService) AddOperation(name, description string) (operation vars.Operation, err error)
- func (databaseService *DatabaseService) AddRole(roleName, description string) (role vars.Role, err error)
- func (databaseService *DatabaseService) AddUser(userName string) (user vars.User, err error)
- func (databaseService *DatabaseService) AssignUser(userId int, roleName string) (bool, error)
- func (databaseService *DatabaseService) AssignedRoles(userId int) ([]vars.Role, error)
- func (databaseService *DatabaseService) AssignedUsers(roleName string) ([]vars.User, error)
- func (databaseService *DatabaseService) CheckAccess(sessionName, operationName, objectName string) (bool, error)
- func (databaseService *DatabaseService) CloseConnection() error
- func (databaseService *DatabaseService) CreateDBConnection(driver, username, password, hostname, databaseName string) error
- func (databaseService *DatabaseService) CreateObject(objectName, description string) (object vars.Object, err error)
- func (databaseService *DatabaseService) CreatePermission(objectName, operationName string) (permission vars.Permission, err error)
- func (databaseService *DatabaseService) CreateSession(userId int, sessionName string) (session vars.Session, err error)
- func (databaseService *DatabaseService) DeassignUser(userId int, roleName string) (bool, error)
- func (databaseService *DatabaseService) DeleteOperation(operationName string) (bool, error)
- func (databaseService *DatabaseService) DeleteRole(roleName string) (bool, error)
- func (databaseService *DatabaseService) DeleteSession(userId int, sessionName string) (bool, error)
- func (databaseService *DatabaseService) DeleteUser(userName string) (bool, error)
- func (databaseService *DatabaseService) DropActiveRole(userId int, sessionName, roleName string) (bool, error)
- func (databaseService *DatabaseService) FindPermission(objectName, operationName string) (permission vars.Permission, err error)
- func (databaseService *DatabaseService) GrantPermission(permissionId int, roleName string) (bool, error)
- func (databaseService *DatabaseService) RemoveObject(objectName string) (bool, error)
- func (databaseService *DatabaseService) RevokePermission(permissionId int, roleName string) (bool, error)
- func (databaseService *DatabaseService) RoleOperationOnObject(roleName, objectName string) ([]vars.Operation, error)
- func (databaseService *DatabaseService) RolePermissions(roleName string) ([]vars.Permission, error)
- func (databaseService *DatabaseService) SessionPermissions(sessionName string) ([]vars.Permission, error)
- func (databaseService *DatabaseService) SessionRoles(sessionName string) ([]vars.Role, error)
- func (databaseService *DatabaseService) UserOperationOnObject(userId int, objectName string) ([]vars.Operation, error)
- func (databaseService *DatabaseService) UserPermissions(userId int) ([]vars.Permission, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DatabaseService ¶
DatabaseService Interface to expose DB methods
func (*DatabaseService) AddActiveRole ¶
func (databaseService *DatabaseService) AddActiveRole(userId int, sessionName, roleName string) (bool, error)
AddActiveRole (RC-01) Core RBAC: Add a role as an active role of a session whose owner is a given user
func (*DatabaseService) AddOperation ¶
func (databaseService *DatabaseService) AddOperation(name, description string) (operation vars.Operation, err error)
AddOperation Adds a new operation
func (*DatabaseService) AddRole ¶
func (databaseService *DatabaseService) AddRole(roleName, description string) (role vars.Role, err error)
AddRole (RC-06) Core RBAC: Creates a new role if not exists. Duplicate roles are not allowed
func (*DatabaseService) AddUser ¶
func (databaseService *DatabaseService) AddUser(userName string) (user vars.User, err error)
AddUser (RC-04) Core RBAC: Creates a new RBAC user. The User will not carry any sessions during the creation
func (*DatabaseService) AssignUser ¶
func (databaseService *DatabaseService) AssignUser(userId int, roleName string) (bool, error)
AssignUser (RC-10) Core RBAC: Assigns a user to a role, will return error if the role is already assigned to the user
func (*DatabaseService) AssignedRoles ¶
func (databaseService *DatabaseService) AssignedRoles(userId int) ([]vars.Role, error)
AssignedRoles (RC-09) Core RBAC: Returns a set of roles assigned to a given user
func (*DatabaseService) AssignedUsers ¶
func (databaseService *DatabaseService) AssignedUsers(roleName string) ([]vars.User, error)
AssignedUsers (RC-11) Core RBAC: Return the set of users assigned to a given role
func (*DatabaseService) CheckAccess ¶
func (databaseService *DatabaseService) CheckAccess(sessionName, operationName, objectName string) (bool, error)
CheckAccess (RC-14) Core RBAC: Returns a boolean of whether the subject of a given session is allowed or not to perform a given operation on a given object
func (*DatabaseService) CloseConnection ¶
func (databaseService *DatabaseService) CloseConnection() error
CloseConnection Closes the DB Connection
func (*DatabaseService) CreateDBConnection ¶
func (databaseService *DatabaseService) CreateDBConnection(driver, username, password, hostname, databaseName string) error
CreateDBConnection Creates a DB Connection with the Database
func (*DatabaseService) CreateObject ¶
func (databaseService *DatabaseService) CreateObject(objectName, description string) (object vars.Object, err error)
CreateObject Create an Object
func (*DatabaseService) CreatePermission ¶
func (databaseService *DatabaseService) CreatePermission(objectName, operationName string) (permission vars.Permission, err error)
CreatePermission Creates a new Permission
func (*DatabaseService) CreateSession ¶
func (databaseService *DatabaseService) CreateSession(userId int, sessionName string) (session vars.Session, err error)
CreateSession (RC-16) Core RBAC: Create a new session with a user as owner and an active role set
func (*DatabaseService) DeassignUser ¶
func (databaseService *DatabaseService) DeassignUser(userId int, roleName string) (bool, error)
DeassignUser (RC-18) Core RBAC: Remove a user from a role and deletes session
func (*DatabaseService) DeleteOperation ¶
func (databaseService *DatabaseService) DeleteOperation(operationName string) (bool, error)
DeleteOperation Deletes an existing operation
func (*DatabaseService) DeleteRole ¶
func (databaseService *DatabaseService) DeleteRole(roleName string) (bool, error)
DeleteRole (RC-22) Core RBAC: Deletes an existing role and deletes the role session
func (*DatabaseService) DeleteSession ¶
func (databaseService *DatabaseService) DeleteSession(userId int, sessionName string) (bool, error)
DeleteSession (RC-23) Core RBAC: Delete a given session with a given owner user
func (*DatabaseService) DeleteUser ¶
func (databaseService *DatabaseService) DeleteUser(userName string) (bool, error)
DeleteUser (RC-26) Core RBAC: Deletes an existing user from RBAC, Deletes Sessions and User assignments
func (*DatabaseService) DropActiveRole ¶
func (databaseService *DatabaseService) DropActiveRole(userId int, sessionName, roleName string) (bool, error)
DropActiveRole (RC-27) Core RBAC: Delete a role from the active role set of a session owned by a given user
func (*DatabaseService) FindPermission ¶
func (databaseService *DatabaseService) FindPermission(objectName, operationName string) (permission vars.Permission, err error)
FindPermission Search for existing permission record
func (*DatabaseService) GrantPermission ¶
func (databaseService *DatabaseService) GrantPermission(permissionId int, roleName string) (bool, error)
GrantPermission (RC-31) Core RBAC: Grant a role a permission - must pair an object and an operation Grants a role the permission to perform an operation on an object
func (*DatabaseService) RemoveObject ¶
func (databaseService *DatabaseService) RemoveObject(objectName string) (bool, error)
RemoveObject Removes an Object
func (*DatabaseService) RevokePermission ¶
func (databaseService *DatabaseService) RevokePermission(permissionId int, roleName string) (bool, error)
RevokePermission (RC-32) Core RBAC: Revoke a permission from a role - must pair an object and an operation Spec deviation - accepting roleId instead of roleName
func (*DatabaseService) RoleOperationOnObject ¶
func (databaseService *DatabaseService) RoleOperationOnObject(roleName, objectName string) ([]vars.Operation, error)
RoleOperationOnObject This function returns the set of operations a given role is permitted to perform on a given object
func (*DatabaseService) RolePermissions ¶
func (databaseService *DatabaseService) RolePermissions(roleName string) ([]vars.Permission, error)
RolePermissions (RC-34) Core RBAC: Return the set of permissions granted to a given role
func (*DatabaseService) SessionPermissions ¶
func (databaseService *DatabaseService) SessionPermissions(sessionName string) ([]vars.Permission, error)
SessionPermissions (RC-35) Core RBAC: Return the set of permissions assigned to a given session
func (*DatabaseService) SessionRoles ¶
func (databaseService *DatabaseService) SessionRoles(sessionName string) ([]vars.Role, error)
SessionRoles (RC-36) Core RBAC: Return the set of active roles associated with a session TODO Return user_id
func (*DatabaseService) UserOperationOnObject ¶
func (databaseService *DatabaseService) UserOperationOnObject(userId int, objectName string) ([]vars.Operation, error)
UserOperationOnObject This function returns the set of operations a given user is permitted to perform on a given object, obtained either directly or through his/her assigned roles.
func (*DatabaseService) UserPermissions ¶
func (databaseService *DatabaseService) UserPermissions(userId int) ([]vars.Permission, error)
UserPermissions (RC-43) Core RBAC: Return the set of permissions granted to a given user