Blame view

Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Authorization/DefaultPermissionHandler.cs 1.09 KB
515fceeb   “wangming”   框架初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  using Microsoft.AspNetCore.Http;
  using Volo.Abp.DependencyInjection;
  using Volo.Abp.Users;
  using Yi.Framework.Core.Extensions;
  using Yi.Framework.Rbac.Domain.Shared.Consts;
  
  namespace Yi.Framework.Rbac.Domain.Authorization
  {
      public class DefaultPermissionHandler : IPermissionHandler, ITransientDependency
      {
          private ICurrentUser _currentUser { get; set; }
          private IHttpContextAccessor _httpContextAccessor;
  
          public DefaultPermissionHandler(ICurrentUser currentUser, IHttpContextAccessor httpContextAccessor)
          {
              _currentUser = currentUser;
              _httpContextAccessor = httpContextAccessor;
          }
          public bool IsPass(string permission)
          {
              var permissions = _httpContextAccessor.HttpContext.GetUserPermissions(TokenTypeConst.Permission);
              if (permissions is not null)
              {
                  if (permissions.Contains("*:*:*"))
                  {
                      return true;
                  }
  
                  return permissions.Contains(permission);
  
              }
  
              return false;
          }
      }
  }