gpt4 book ai didi

c# - 在 MVC2 中按角色限制 View 的最佳实践

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:58 24 4
gpt4 key购买 nike

检查用户是否具有运行操作的正确权限的最佳方法是什么?

我有几种方法,其中一些我比其他方法更喜欢:

1) 使用PrincipalPermission 属性,该属性很简单且编写的 LOC 非常低。主要缺点是它需要代码发布(和测试)才能对安全性进行任何更改。

2) 使用 Authorize 属性,它似乎与 PrincipalPermission 属性基本相同(至少在本例中)。

3) 使用自定义属性(如讨论的 here )并从 web.config 文件中读取配置,这是经典的 ASP.NET。这具有灵 active 的好处,但我不喜欢我必须生成大量代码才能读取配置。

4) 使用自定义属性并从数据库中读取角色信息。与前一个选项类似,但来自数据库。我更倾向于走这条路,因为它给了用户最大的灵 active ,但它也需要我至少指定一个人来更改权限。使用模拟时,这可能会变得困难/烦人,因为将来可能不存在“管理员”。

5) 使用 web.config 或 db 方法,而不是在属性级别,在基 Controller 类中创建一个基本方法,以便轻松检查角色。这会在每个单独的操作方法中产生额外的代码,并且除了避免使用 OnActionExecuted 方法(用于捕获目的)之外实际上没有任何好处。

6) 我错过的其他东西......

那么哪个选项最好呢?这里要记住的是,至少在我的情况下,对代码进行更改需要进行测试,这可能是一个漫长而漫长的过程。能够避免重建代码似乎(对我来说)是一个主要的好处,尽管我认为即使在安全更改的情况下它也能达到目的。

(顺便说一句,我看到了一个社区维基按钮和一个关于主观性的警告,但我不确定我是否应该检查那个或什么。)

最佳答案

我选择了授权属性方法:) the method由 tvanfosson 描述。

关于c# - 在 MVC2 中按角色限制 View 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2594956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com