forked from ddrilling/AsbCloudServer
AdminPermissionController.GetAutogenerated() change generation algorithm.
This commit is contained in:
parent
7a10d26ca6
commit
f5ec155bbb
@ -32,10 +32,22 @@ namespace AsbCloudWebApi.Controllers
|
|||||||
var controllerName = controller.Name.Replace("Controller", "");
|
var controllerName = controller.Name.Replace("Controller", "");
|
||||||
foreach (var method in methods)
|
foreach (var method in methods)
|
||||||
{
|
{
|
||||||
var httpMethod = method.GetCustomAttribute<HttpMethodAttribute>()?.HttpMethods?.First();
|
var httpMethod = method.GetCustomAttribute<HttpMethodAttribute>()?.HttpMethods?.First().ToLower();
|
||||||
if (string.IsNullOrEmpty(httpMethod))
|
switch (httpMethod)
|
||||||
continue;
|
{
|
||||||
permissions.Add($"{controllerName}.{httpMethod.ToLower()}");
|
case "get":
|
||||||
|
case "delete":
|
||||||
|
permissions.Add($"{controllerName}.{httpMethod.ToLower()}");
|
||||||
|
continue;
|
||||||
|
case "post":
|
||||||
|
case "put":
|
||||||
|
case "patch":
|
||||||
|
permissions.Add($"{controllerName}.edit");
|
||||||
|
continue;
|
||||||
|
default:
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using Microsoft.AspNetCore.Authentication;
|
using Microsoft.AspNetCore.Authentication;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using System;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace AsbCloudWebApi.Middlewares
|
namespace AsbCloudWebApi.Middlewares
|
||||||
@ -42,8 +43,15 @@ namespace AsbCloudWebApi.Middlewares
|
|||||||
|
|
||||||
var httpMethod = endpoint.Metadata
|
var httpMethod = endpoint.Metadata
|
||||||
.GetMetadata<Microsoft.AspNetCore.Routing.HttpMethodMetadata>()
|
.GetMetadata<Microsoft.AspNetCore.Routing.HttpMethodMetadata>()
|
||||||
.HttpMethods[0];
|
.HttpMethods[0]
|
||||||
permissionName = $"{controller}.{httpMethod.ToLower()}";
|
.ToLower();
|
||||||
|
|
||||||
|
permissionName = httpMethod switch
|
||||||
|
{
|
||||||
|
"get" or "delete" => $"{controller}.{httpMethod}",
|
||||||
|
"post" or "put" or "patch" => $"{controller}.edit",
|
||||||
|
_ => throw new NotImplementedException(),
|
||||||
|
};
|
||||||
PermissionAttribute.Registered.Add(permissionName);
|
PermissionAttribute.Registered.Add(permissionName);
|
||||||
}
|
}
|
||||||
else if(permissionName.Contains("[controller]"))
|
else if(permissionName.Contains("[controller]"))
|
||||||
|
Loading…
Reference in New Issue
Block a user