IUserPermissionStore.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using Abp.Authorization;
  2. using VberZero.BaseSystem.Users;
  3. namespace VberZero.Authorization.Users;
  4. /// <summary>
  5. /// 用户执行权限操作数据库
  6. /// </summary>
  7. public interface IUserPermissionStore<in TUser>
  8. where TUser : User
  9. {
  10. /// <summary>
  11. /// 向用户添加权限
  12. /// </summary>
  13. /// <param name="user"></param>
  14. /// <param name="permissionGrant"></param>
  15. Task AddPermissionAsync(TUser user, PermissionGrantInfo permissionGrant);
  16. /// <summary>
  17. /// 向用户添加权限
  18. /// </summary>
  19. /// <param name="user"></param>
  20. /// <param name="permissionGrant"></param>
  21. void AddPermission(TUser user, PermissionGrantInfo permissionGrant);
  22. /// <summary>
  23. /// 从用户中删除权限
  24. /// </summary>
  25. /// <param name="user"></param>
  26. /// <param name="permissionGrant"></param>
  27. Task RemovePermissionAsync(TUser user, PermissionGrantInfo permissionGrant);
  28. /// <summary>
  29. /// 从用户中删除权限
  30. /// </summary>
  31. /// <param name="user"></param>
  32. /// <param name="permissionGrant"></param>
  33. void RemovePermission(TUser user, PermissionGrantInfo permissionGrant);
  34. /// <summary>
  35. /// 获取用户的权限信息
  36. /// </summary>
  37. /// <param name="userId"></param>
  38. /// <returns></returns>
  39. Task<IList<PermissionGrantInfo>> GetPermissionsAsync(long userId);
  40. /// <summary>
  41. /// 获取用户的权限信息
  42. /// </summary>
  43. /// <param name="userId"></param>
  44. /// <returns></returns>
  45. IList<PermissionGrantInfo> GetPermissions(long userId);
  46. /// <summary>
  47. /// 检查用户是否拥有权限
  48. /// </summary>
  49. /// <param name="userId"></param>
  50. /// <param name="permissionGrant"></param>
  51. /// <returns></returns>
  52. Task<bool> HasPermissionAsync(long userId, PermissionGrantInfo permissionGrant);
  53. /// <summary>
  54. /// 检查用户是否拥有权限
  55. /// </summary>
  56. /// <param name="userId"></param>
  57. /// <param name="permissionGrant"></param>
  58. /// <returns></returns>
  59. bool HasPermission(long userId, PermissionGrantInfo permissionGrant);
  60. /// <summary>
  61. /// 删除了角色的所有权限
  62. /// </summary>
  63. /// <param name="user">User</param>
  64. Task RemoveAllPermissionSettingsAsync(TUser user);
  65. /// <summary>
  66. /// 删除了角色的所有权限
  67. /// </summary>
  68. /// <param name="user">User</param>
  69. void RemoveAllPermissionSettings(TUser user);
  70. }