asp.net-mvc - ASP.Net MVC Entity Framework 应用程序中的数据级别授权过滤器

标签 asp.net-mvc entity-framework asp.net-mvc-4 authorize

我正在我的 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/

相关文章:

c# - 通用存储库和自定义类型的实体 ID

c# - 如何从 EF DbUpdateException 中获取一些附加信息

c# - 对 LinqToEntities 查询使用多个 .Where() 调用或 && 条件

c# - 获取 IEnumerable 错误 : CS1061 does not contain C# ASP. NET MVC5

c# - asp.net mvc批处理(外部线程)挂起,也许超时?

asp.net-mvc - 将数学符号插入 tinymce 4?

jquery - 使用 ASP.NET MVC 和 AJAX 的分页表

c# - Entity framework如何获取两年之间的所有数据?

jquery - MVC4 : jQuery Validation Unobtrusive Native working incorrectly

c# - 来自 Ajax 帖子的 JSON 到 MVC 对象