所以我创建了我的第一个Orchard模块,它基本上只是管理面板中的一个CRUD,公众可以使用前端表单。现在,我需要在管理面板中为不同的用户角色提供不同级别的访问权限。我已经创建了“管理员”用户,但现在我遇到了较少的privlidged用户,他们只能查看记录的子集。
问题是我没有IDEA从哪里开始。我很乐意在我的列表屏幕上说:if (UserRole == "SomeRestrictedRole") Select.Where("however we restrict");
- 但我不知道如何访问UserRole(我也是.NET MVC的新手)。
我认为PROPER解决方案是扩展IPermissions或类似的东西?但同样,我找不到任何教程或文档来指出我正确的方向。
以下是我到目前为止所阅读的文档:
http://docs.orchardproject.net/Documentation/Creating-a-module-with-a-simple-text-editor
http://docs.orchardproject.net/Documentation/Understanding-data-access
http://docs.orchardproject.net/Documentation/Managing-users-and-roles
http://docs.orchardproject.net/Documentation/Understanding-permissions
非常感谢任何建议!
答案 0 :(得分:6)
是的,不要基于角色限制访问,而是根据权限限制访问。查看任何Permissions.cs以获取实现示例。然后搜索在那里声明的权限,以查看强制执行它们的示例。这很简单,你会看到:)。