c# - 自定义模块中的 Orchard 权限

标签 c# asp.net permissions orchardcms

所以我创建了我的第一个 Orchard 模块,它本质上只是管理面板中的 CRUD,并且有一个可供公众使用的前端表单。现在我需要在管理面板中为不同的用户角色提供不同级别的访问权限。我已经很好地创建了“管理员”用户,但现在我遇到了权限较低的用户的问题,他们只能看到记录的子集。

问题是我不知道从哪里开始。我很乐意在我的列表屏幕上说: if (UserRole == "SomeRestrictedRole") Select.Where("however we limit"); - 但我不知道如何访问UserRole(我对 .NET MVC 也相当陌生)。

我认为正确的解决方案是扩展 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

如有任何建议,我们将不胜感激!

最佳答案

对,不要根据角色限制访问,而是根据权限限制访问。查看任何 Permissions.cs 以获取实现示例。然后搜索其中声明的权限以查看强制执行它们的示例。这真的很简单,你就会明白:)

关于c# - 自定义模块中的 Orchard 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9202828/

相关文章:

c# - 如何在运行时创建包含类的 dll?

c# - 如何使用 PaintEventArgs 参数调用函数?

JavaScript 显示/隐藏 div 使用 asp RadioButtonList

asp.net - 如何使用 ASP.NET 和 iframe 跨域对用户进行身份验证?

asp.net - 加密 Web 配置

android - 使用 Facebook-Android SDK 3.0 正确请求发布权限

c# 查询内存中的大型只读表

c# - 使用 Process.Start 修复 CA2122

asp.net - Windows 中的哪个文件夹每个人或 IIS 用户都有权读写?

r - 使用 rstudio ubuntu 服务器中另一个文件夹中的文件