Interface IPermissionProvider
Provider for access permission management.
public interface IPermissionProvider
Methods
CanUserDeleteObject(IRedbObject, IRedbUser)
Check if user can delete object.
Task<bool> CanUserDeleteObject(IRedbObject obj, IRedbUser user)
CanUserDeleteObject(IRedbObject)
Check if current user can delete object.
Task<bool> CanUserDeleteObject(IRedbObject obj)
CanUserDeleteObject(long, long)
Task<bool> CanUserDeleteObject(long objectId, long userId)
CanUserDeleteObject(RedbObject, IRedbUser)
Check if user can delete object.
Task<bool> CanUserDeleteObject(RedbObject obj, IRedbUser user)
CanUserDeleteObject(RedbObject)
Check if current user can delete object.
Task<bool> CanUserDeleteObject(RedbObject obj)
CanUserEditObject(IRedbObject, IRedbUser)
Check if user can edit object.
Task<bool> CanUserEditObject(IRedbObject obj, IRedbUser user)
CanUserEditObject(IRedbObject)
Check if current user can edit object.
Task<bool> CanUserEditObject(IRedbObject obj)
CanUserEditObject(long, long)
Task<bool> CanUserEditObject(long objectId, long userId)
CanUserEditObject(RedbObject, IRedbUser)
Check if user can edit object.
Task<bool> CanUserEditObject(RedbObject obj, IRedbUser user)
CanUserEditObject(RedbObject)
Check if current user can edit object.
Task<bool> CanUserEditObject(RedbObject obj)
CanUserInsertScheme(IRedbScheme, IRedbUser)
Check if user can create objects in scheme.
Task<bool> CanUserInsertScheme(IRedbScheme scheme, IRedbUser user)
CanUserInsertScheme(IRedbScheme)
Check if current user can create objects in scheme.
Task<bool> CanUserInsertScheme(IRedbScheme scheme)
CanUserInsertScheme(long, long)
Task<bool> CanUserInsertScheme(long schemeId, long userId)
CanUserInsertScheme(RedbObject, IRedbUser)
Check if user can create objects in object's scheme.
Task<bool> CanUserInsertScheme(RedbObject obj, IRedbUser user)
CanUserSelectObject(IRedbObject, IRedbUser)
Check if user can read object.
Task<bool> CanUserSelectObject(IRedbObject obj, IRedbUser user)
CanUserSelectObject(IRedbObject)
Check if current user can read object.
Task<bool> CanUserSelectObject(IRedbObject obj)
CanUserSelectObject(long, long)
Task<bool> CanUserSelectObject(long objectId, long userId)
CanUserSelectObject(RedbObject, IRedbUser)
Check if user can read object.
Task<bool> CanUserSelectObject(RedbObject obj, IRedbUser user)
CanUserSelectObject(RedbObject)
Check if current user can read object.
Task<bool> CanUserSelectObject(RedbObject obj)
CreatePermissionAsync(PermissionRequest, IRedbUser?)
Create new permission.
Task<IRedbPermission> CreatePermissionAsync(PermissionRequest request, IRedbUser? currentUser = null)
DeletePermissionAsync(IRedbPermission, IRedbUser?)
Delete permission.
Task<bool> DeletePermissionAsync(IRedbPermission permission, IRedbUser? currentUser = null)
GetAllEffectivePermissionsAsync(IRedbUser)
Get all effective user permissions.
Task<List<EffectivePermissionResult>> GetAllEffectivePermissionsAsync(IRedbUser user)
GetEffectivePermissionsAsync(IRedbUser, IRedbObject)
Get effective user permissions for object (including inheritance and roles).
Task<EffectivePermissionResult> GetEffectivePermissionsAsync(IRedbUser user, IRedbObject obj)
GetEffectivePermissionsBatchAsync(IRedbUser, IRedbObject[])
Get effective user permissions for multiple objects (batch).
Task<Dictionary<IRedbObject, EffectivePermissionResult>> GetEffectivePermissionsBatchAsync(IRedbUser user, IRedbObject[] objects)
GetPermissionByIdAsync(long)
Get permission by ID.
Task<IRedbPermission?> GetPermissionByIdAsync(long permissionId)
GetPermissionsByObjectAsync(IRedbObject)
Get permissions for object.
Task<List<IRedbPermission>> GetPermissionsByObjectAsync(IRedbObject obj)
GetPermissionsByRoleAsync(IRedbRole)
Get role permissions.
Task<List<IRedbPermission>> GetPermissionsByRoleAsync(IRedbRole role)
GetPermissionsByUserAsync(IRedbUser)
Get user permissions.
Task<List<IRedbPermission>> GetPermissionsByUserAsync(IRedbUser user)
GetReadableObjectIds()
Get IDs of objects readable by current user.
IQueryable<long> GetReadableObjectIds()
GetReadableObjectIds(IRedbUser)
Get IDs of objects readable by user.
IQueryable<long> GetReadableObjectIds(IRedbUser user)
GetRolePermissionCountAsync(IRedbRole)
Get role permission count.
Task<int> GetRolePermissionCountAsync(IRedbRole role)
GetUserPermissionCountAsync(IRedbUser)
Get user permission count.
Task<int> GetUserPermissionCountAsync(IRedbUser user)
GrantPermissionAsync(IRedbRole, IRedbObject, PermissionAction, IRedbUser?)
Grant permission to role.
Task<bool> GrantPermissionAsync(IRedbRole role, IRedbObject obj, PermissionAction actions, IRedbUser? currentUser = null)
GrantPermissionAsync(IRedbUser, IRedbObject, PermissionAction, IRedbUser?)
Grant permission to user.
Task<bool> GrantPermissionAsync(IRedbUser user, IRedbObject obj, PermissionAction actions, IRedbUser? currentUser = null)
RevokeAllRolePermissionsAsync(IRedbRole, IRedbUser?)
Revoke all role permissions.
Task<int> RevokeAllRolePermissionsAsync(IRedbRole role, IRedbUser? currentUser = null)
RevokeAllUserPermissionsAsync(IRedbUser, IRedbUser?)
Revoke all user permissions.
Task<int> RevokeAllUserPermissionsAsync(IRedbUser user, IRedbUser? currentUser = null)
RevokePermissionAsync(IRedbRole, IRedbObject, IRedbUser?)
Revoke permission from role.
Task<bool> RevokePermissionAsync(IRedbRole role, IRedbObject obj, IRedbUser? currentUser = null)
RevokePermissionAsync(IRedbUser, IRedbObject, IRedbUser?)
Revoke permission from user.
Task<bool> RevokePermissionAsync(IRedbUser user, IRedbObject obj, IRedbUser? currentUser = null)
UpdatePermissionAsync(IRedbPermission, PermissionRequest, IRedbUser?)
Update permission.
Task<IRedbPermission> UpdatePermissionAsync(IRedbPermission permission, PermissionRequest request, IRedbUser? currentUser = null)