c# - ASP.net5 中的授权

标签 c# asp.net asp.net-mvc asp.net-core asp.net-core-mvc

我想看看 ASP.net5 中是否有一些“开箱即用”的东西来授权我的应用程序需要。我正在使用基于组/权限的方法进行授权。使用 Identity3 我将 Role 用作 Group,然后我从中创建了权限。每个权限都有一个它链接到的资源和 1 个或多个值,例如:

资源 = 页面,权限 = 添加、更新、查看、删除

另一个复杂的问题是组具有动态名称和动态权限!!

我已经开始阅读有关 ASP.net5 中的授权的内容,似乎我找到了一个叫做 Policies 的东西,听起来不错。它似乎迫使您使用声明,如果我使用 ClaimsTransformer 获取我的所有权限并将它们添加为来自 Db 的声明,这是可能的。但是我认为我必须为每个资源的每个权限创建一个策略是否正确?这似乎有很多设置。

有什么我不知道的东西已经内置在我可以使用的 ASP.net5 中了吗?喜欢这样的属性

[Authorize("Page", "Delete")]

我可以将其添加到 PageController Delete 方法。

如果我必须在 Controller 中使用某种服务和 DI 来实现它,那也很好。

最佳答案

有一个ClaimsPrincipalPermissionAttribute可以满足您的要求。

或者您可以实现自己的 AuthorizeAttribute .

关于c# - ASP.net5 中的授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35078114/

相关文章:

javascript - 在 JavaScript 中使用 if 子句查询刷新后的 UpdatePanel

javascript - $.ajax json方法不命中web方法

c# - MVC4 : View appears to be maintaining state independently of the controller

asp.net-mvc - Visual Studio for Mac-错误 CS1902

c# - C#-搜索数组中的序列

c# - iTextSharp文档中PageNumber和PageCount的区别

c# - 在 C# 中创建 AI 行为树 - 如何?

c# - DataGridView 控件必须绑定(bind)到要排序的 IBindingList 对象

c# - 如何从 asp.net 中的 gridview 中的 Ajax fileupload 控件获取文件名。 (记住它的 ajax fileupload 控件)

css - 用 FontAwesome 图标替换字形图标