c# - ASP .Net MVC 用户所有权和授权

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

我是一个 MVC 新手,正在尝试构建一个简单的 Web 应用程序,用户可以在其中注册和登录(已经使用 MVC 的身份示例完成了)并创建一些对象(例如,执行列表中的项目) )基本上与他们绑定(bind),除非他们另有说明。

基本上,如果没有另外说明,其他用户无法看到或编辑待办事项。

我尝试完成的第一步是仅使用用户的项目填充列表。

有人可以给我指出正确的方向吗?

最佳答案

在我看来,它更多的是应用程序逻辑而不是授权。最简单的实现方法是当您想要显示或编辑当前登录用户创建的项目时,查询这些项目。

授权不是显示特定的用户内容(它是个性化),而是根据有关用户的信息和一组预定义的授权规则允许/限制用户访问特定页面或在门户上执行特定操作。以下是几个示例:

  1. 仅允许管理员用户查看/编辑某些内容(基于角色的授权)
  2. 允许 18 岁以上的用户访问(基于声明的授权)
  3. 仅限来自特定地理位置的用户(同样基于声明)

正如您从示例中看到的,授权不太适合过滤从数据库获取的行(如您的情况)。

经验法则可能是尝试使用授权属性标记操作或页面。因此,如果您想要进行“个性化授权”,您将必须为每个用户创建操作/页面,这不是您想要做的,对吗?

关于c# - ASP .Net MVC 用户所有权和授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42667691/

相关文章:

c# - SQL查询在.net项目中不起作用,但在adminer/phpmyadmin中正常运行

c# - 如何在 ASP.NET MVC 中使用 Entity Framework 更新/编辑多条记录

c# - Jquery Ajax 发布后局部 View 刷新

语法问题 - Razor MVC4

c# - 验证检查在存储库模式中的什么位置?

c# - 当前上下文中不存在名称 'txtBxSearch'

C#如何使类变量引用类中的另一个值

c# - System.Web.Mvc.HtmlHelper<ModelName> 不包含定义

JQuery 发送对象时出现问题(OPTIONS 请求而不是 POST)

c# - 我应该在 .Net 4.5 中使用 MVC 在服务器上应用并行编程吗