【问题标题】:ASP.NET 5 Handling Permissions with Authorize AttributeASP.NET 5 使用 Authorize 属性处理权限
【发布时间】:2025-12-12 05:45:01
【问题描述】:

我正在为新的 ASP.NET 5 授权而苦苦挣扎:

我想给每个Action定义一个权限,并在数据库中配置,什么用户/组有什么权限。

很遗憾,我看不到使用新的授权属性/策略来处理此问题的方法。

(边信息:我计划拥有大约 100 个权限、1000 个用户、50 个组;过去,我通过自定义 Authorize Attribute 和“HandleUnauthorizedRequest”方法解决了这个问题)

【问题讨论】:

    标签: asp.net asp.net-mvc permissions authorization asp.net-core


    【解决方案1】:

    将您的权限抽象到IPermissionsProvider,然后实现它,将其添加到 DI 并将其注入到处理程序中以满足您的要求。

    这样,在 Handle 中,您可以使用用户调用您的数据库,以及来自 Context 参数的操作详细信息(您需要将其转换为 Microsoft.AspNet.Mvc.Filters.AuthorizationContext 以获取请求和路由详细信息)

    【讨论】: