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();