Prechádzať zdrojové kódy

修复角色权限撤销权限后,用户可再操作的问题

xiaoxue 4 rokov pred
rodič
commit
babfd63158

+ 8 - 4
Admin.Core/Attributes/PermissionAttribute.cs

@@ -16,7 +16,7 @@ namespace Admin.Core.Attributes
     [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)]
     public class PermissionAttribute : AuthorizeAttribute, IAuthorizationFilter, IAsyncAuthorizationFilter
     {
-        public async void OnAuthorization(AuthorizationFilterContext context)
+        private async Task PermissionAuthorization(AuthorizationFilterContext context)
         {
             //排除匿名访问
             if (context.ActionDescriptor.EndpointMetadata.Any(m => m.GetType() == typeof(AllowAnonymousAttribute)))
@@ -45,10 +45,14 @@ namespace Admin.Core.Attributes
             }
         }
 
-        public Task OnAuthorizationAsync(AuthorizationFilterContext context)
+        public async void OnAuthorization(AuthorizationFilterContext context)
+        {
+            await PermissionAuthorization(context);
+        }
+
+        public async Task OnAuthorizationAsync(AuthorizationFilterContext context)
         {
-            OnAuthorization(context);
-            return Task.CompletedTask;
+            await PermissionAuthorization(context);
         }
     }
 }