首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET MVC3-安全体系结构注意事项

ASP.NET MVC3-安全体系结构注意事项
EN

Stack Overflow用户
提问于 2011-09-15 07:46:16
回答 4查看 1.3K关注 0票数 2

我正在研究一个ASP.NET MVC3应用程序的安全框架,该应用程序在哪些人可以查看数据,哪些人可以创建和编辑数据方面,将有一些非常复杂的授权规则。规则,例如-我只能看到属于我的公司或分支机构的客户。-如果我在创建记录之日起15天或更短的时间内离开,并且我的角色是超级用户,则只有我可以编辑该记录上除两个字段之外的所有字段。16天或更长时间后,我只能编辑两个字段。

我最初的想法是使用企业安全块,只添加定制的授权器,但在阅读了更多关于ASP.NET中对基于成员的安全性的本地支持后,我不太确定是否有必要使用企业安全块。我还没有在实际的应用程序中使用过这两个框架,所以我希望在这个主题上集思广益。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-15 09:12:29

这就是复杂字段级别安全性的问题。没有真正的框架来帮助你,因为所有的东西都是定制的。最好的做法是将其提取到某种查找表中,并为表中的每个字段分配一个自定义标识符,然后拥有一组指示每个安全级别的列。然后,构建业务逻辑,以便传入一个字段和条件,它只是简单地响应是否允许它。

THen你必须弄清楚“允许”在你的界面中是什么意思。是否禁用它?藏起来?忽略它?

我并不羡慕你。

您可能会发现这不是很有趣。

http://bartreyserhove.blogspot.com/2008/12/field-level-security-using-aspnet-mvc.html

票数 1
EN

Stack Overflow用户

发布于 2014-09-23 23:38:24

您可以使用Azman - Microsoft授权管理器及其相关API。

它为您提供角色、操作、权限和更多可配置选项。

Azman使用AD来存储大部分内容。它还提供了使用本地XML和/或配置文件进行存储的选项。

票数 1
EN

Stack Overflow用户

发布于 2011-09-15 08:07:07

在这里,您不仅涉及到直接的安全问题,还涉及到实际的授权规则和编辑规则。您的身份验证规则听起来非常自定义,我觉得您可能需要在自己的自定义代码中处理这些规则,然后将这些属性包含在您自己的视图模型中。

我不知道有任何框架会默认给你这个,因为这些是非常自定义的编辑规则。您可以调用这些声明,并且当您登录时会违反基于声明的框架,例如windows身份基础(WIF),但是您仍然需要自定义的IF stmts,以允许基于您在ViewModel中设置的属性(例如CustomerViewModel.AllowAddressEdit )在视图中进行编辑。您的视图需要选中此属性才能显示DisplayFor或EditorFor。然而,你也应该在回发时检查这些值,以确保用户没有注入值来攻击你的应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7424301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档