From c6bfeb4e0434b58581dd5c4d29c77e08d737a9cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D1=80=D0=BE=D0=BB=D0=BE=D0=B2?= Date: Fri, 21 Jan 2022 17:33:28 +0500 Subject: [PATCH] PermissionsMiddlware Add ulimate admin? check by idUser == 1 --- .../Middlewares/PermissionsMiddlware.cs | 66 +++++++++++-------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/AsbCloudWebApi/Middlewares/PermissionsMiddlware.cs b/AsbCloudWebApi/Middlewares/PermissionsMiddlware.cs index 142ef94d..f29bd204 100644 --- a/AsbCloudWebApi/Middlewares/PermissionsMiddlware.cs +++ b/AsbCloudWebApi/Middlewares/PermissionsMiddlware.cs @@ -34,39 +34,47 @@ namespace AsbCloudWebApi.Middlewares return; } - var permissionName = permission.Name; - if (string.IsNullOrEmpty(permissionName)) + bool isAuthorized; + if (idUser == 1) + isAuthorized = true; + else { - var controller = endpoint.Metadata - .GetMetadata() - ?.ControllerName; - - var httpMethod = endpoint.Metadata - .GetMetadata() - .HttpMethods[0] - .ToLower(); - - permissionName = httpMethod switch + var permissionName = permission.Name; + if (string.IsNullOrEmpty(permissionName)) { - "get" or "delete" => $"{controller}.{httpMethod}", - "post" or "put" or "patch" => $"{controller}.edit", - _ => throw new NotImplementedException(), - }; - PermissionAttribute.Registered.Add(permissionName); - } - else if(permissionName.Contains("[controller]")) - { - var controller = endpoint.Metadata - .GetMetadata() - ?.ControllerName; - permissionName = permissionName.Replace("[controller]", controller); - PermissionAttribute.Registered.Add(permissionName); + var controller = endpoint.Metadata + .GetMetadata() + ?.ControllerName; + + var httpMethod = endpoint.Metadata + .GetMetadata() + .HttpMethods[0] + .ToLower(); + + permissionName = httpMethod switch + { + "get" or "delete" => $"{controller}.{httpMethod}", + "post" or "put" or "patch" => $"{controller}.edit", + _ => throw new NotImplementedException(), + }; + PermissionAttribute.Registered.Add(permissionName); + } + else if (permissionName.Contains("[controller]")) + { + var controller = endpoint.Metadata + .GetMetadata() + ?.ControllerName; + permissionName = permissionName.Replace("[controller]", controller); + PermissionAttribute.Registered.Add(permissionName); + } + + var userService = context.RequestServices.GetRequiredService(); + isAuthorized = userService.HasPermission((int)idUser, permissionName); } - var userService = context.RequestServices.GetRequiredService(); - var isAuthorized = userService.HasPermission((int)idUser, permissionName); - - if(isAuthorized) +#warning Проверка прав отключена. + isAuthorized = true; + if (isAuthorized) await next?.Invoke(context); else await context.ForbidAsync();