我是一个 MVC 新手,正在尝试构建一个简单的 Web 应用程序,用户可以在其中注册和登录(已经使用 MVC 的身份示例完成了)并创建一些对象(例如,执行列表中的项目) )基本上与他们绑定(bind),除非他们另有说明。
基本上,如果没有另外说明,其他用户无法看到或编辑待办事项。
我尝试完成的第一步是仅使用用户的项目填充列表。
有人可以给我指出正确的方向吗?
最佳答案
在我看来,它更多的是应用程序逻辑而不是授权。最简单的实现方法是当您想要显示或编辑当前登录用户创建的项目时,查询这些项目。
授权不是显示特定的用户内容(它是个性化),而是根据有关用户的信息和一组预定义的授权规则允许/限制用户访问特定页面或在门户上执行特定操作。以下是几个示例:
- 仅允许管理员用户查看/编辑某些内容(基于角色的授权)
- 允许 18 岁以上的用户访问(基于声明的授权)
- 仅限来自特定地理位置的用户(同样基于声明)
正如您从示例中看到的,授权不太适合过滤从数据库获取的行(如您的情况)。
经验法则可能是尝试使用授权属性标记操作或页面。因此,如果您想要进行“个性化授权”,您将必须为每个用户创建操作/页面,这不是您想要做的,对吗?
关于c# - ASP .Net MVC 用户所有权和授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42667691/