IwbUserManagerExtensions.cs 1023 B

1234567891011121314151617181920212223242526272829303132
  1. using System;
  2. using Abp.Threading;
  3. using IwbZero.Authorization.Roles;
  4. namespace IwbZero.Authorization.Users
  5. {
  6. /// <summary>
  7. /// Extension methods for <see cref="IwbUserManager{TRole,TUser}"/>.
  8. /// </summary>
  9. public static class IwbUserManagerExtensions
  10. {
  11. /// <summary>
  12. /// Check whether a user is granted for a permission.
  13. /// </summary>
  14. /// <param name="manager">User manager</param>
  15. /// <param name="userId">User id</param>
  16. /// <param name="permissionName">Permission name</param>
  17. public static bool IsGranted<TRole, TUser>(IwbUserManager<TRole, TUser> manager, long userId, string permissionName)
  18. where TRole : IwbSysRole<TUser>, new()
  19. where TUser : IwbSysUser<TUser>
  20. {
  21. if (manager == null)
  22. {
  23. throw new ArgumentNullException(nameof(manager));
  24. }
  25. return AsyncHelper.RunSync(() => manager.IsGrantedAsync(userId, permissionName));
  26. }
  27. }
  28. }