Granular permission back end done
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
using FJPSite.Enums;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
|
||||
namespace FJPSite.Attributes;
|
||||
|
||||
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
|
||||
public class HasPermissionAttribute : AuthorizeAttribute
|
||||
{
|
||||
public FeatureEnum Feature { get; }
|
||||
public ActionEnum Action { get; }
|
||||
public HasPermissionAttribute(FeatureEnum feature, ActionEnum action)
|
||||
{
|
||||
Feature = feature;
|
||||
Action = action;
|
||||
Policy = BuildPolicyName(feature, action);
|
||||
}
|
||||
private static string BuildPolicyName(FeatureEnum feature, ActionEnum action)
|
||||
{
|
||||
return $"Permission.{feature}.{action}";
|
||||
}
|
||||
Reference in New Issue
Block a user