我正在我的 ASP.Net MVC 4 应用程序中寻找数据级别授权过滤器。
我们正在使用 Entity Framework 进行数据访问。
应用程序需要显示所有数据,但应根据用户角色限制对表中某些字段的访问。
例如:任务表 { 整数 ID, 字符串任务名称, 日期时间开始日期, 日期时间结束日期 }
整个数据将显示给所有用户,并且用户也可以选择编辑字段。但应限制编辑选项,如下所示
角色管理员可以编辑所有字段
角色管理器可以编辑任务名称,但无法编辑开始日期和结束日期
角色用户无法编辑任何字段
所有这些编辑都将调用任务 Controller 中的编辑操作。
如何在我的应用程序中实现该功能。
最佳答案
您可以尝试 Postsharp。 PostSharp 允许您设计自定义属性以在编译时注入(inject)样板代码。应该可以将它用于您的示例等场景。我将它用于异常处理、日志记录、缓存和安全性。它可以应用于任何层或框架。
请参阅以下图示示例中的“保护字段和属性”:
http://www.sharpcrafters.com/solutions/authorization
希望有帮助。
关于asp.net-mvc - ASP.Net MVC Entity Framework 应用程序中的数据级别授权过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13106487/