网站首页 网站源码
website
站点相关全部源代码,隐藏了一些关于服务器的信息
using Microsoft.AspNetCore.Authorization;

namespace Dpz.Core.Auth.Security;

public static class PermissionAuthorizationExtensions
{
    public static void AddPermissionAuthorization(this IServiceCollection services)
    {
        services.AddScoped<IAuthorizationHandler, PermissionHandler>();

        var permissions = Enum.GetValues(typeof(EnumLibrary.Permissions))
            .Cast<EnumLibrary.Permissions>()
            .Where(p => p != 0);

        var builder = services.AddAuthorizationBuilder();

        foreach (var permission in permissions)
        {
            builder.AddPolicy(
                permission.ToString(),
                policy => policy.Requirements.Add(new PermissionRequirement(permission.ToString()))
            );
        }
    }
}
loading