0

对于我正在构建的网站,我需要检查页面权限。

权限是在MURA管理员中设置的,有一个组,该组有1个人,该组有Editor权限。

有一个页面设置了这个组,在这个页面上我需要进行切换:

当来自上述组的该用户登录并在该页面上时,我需要显示一个操作栏。当另一个不在此组中的用户登录时,不应显示操作栏。

我正在寻找类似的东西:#$.content('pagePermissions')#

我一直在会话、请求和应用程序范围内进行搜索。在那里我找到了 application.permUtility,但我无法在该 cfc 中找到可以请求页面权限的函数。

有人知道我如何获得这些页面权限吗?

4

1 回答 1

1

可能最简单的方法是简单地检查用户组,例如:

<cfif $.currentUser().isInGroup('Some Group Name')>
  ... render &/or include something ...
</cfif>

您可以简单地将其放置在您的布局模板中并完成。

此外,Mura 通过$.event('r')在事件范围内有一个方便的变量,您可以检查它返回以下键:

  • 允许(布尔值)
  • HASMODULEACCESS(布尔值)
  • LOGGEDIN(布尔值)
  • PERM(编辑卷/登录用户的权限)
  • 限制(布尔值)
  • RESTRICTGROUPS(用户必须所属的组的逗号分隔列表才能查看内容)
  • SITEID(当前请求的siteid)

在这种情况下,您可以执行以下操作:

<cfif $.event('r').restrict and ListFindNoCase($.event('r').restrictgroups, 'YourAuthorizedGroupName'>
  ... render &/or include something ...
</cfif>

但是要记住的一件重要事情是,“超级用户”不一定是任何组的成员。因此,如果您想包含它们,您可以执行以下操作:

<cfif $.currentUser().isSuperUser() ... >

因此,您可能还希望将其添加到您的语句中,例如:

<cfif $.currentUser().isSuperUser() or $.currentUser().isInGroup('Some Group Name')>
  ... render &/or include something ...
</cfif>
于 2013-10-07T16:33:53.410 回答