Modx 管理器自定义页面检查用户是不是已登录并具有管理器访问权限

Posted

技术标签:

【中文标题】Modx 管理器自定义页面检查用户是不是已登录并具有管理器访问权限【英文标题】:Modx manager custom page check if user is logged in and has manager accessModx 管理器自定义页面检查用户是否已登录并具有管理器访问权限 【发布时间】:2015-11-16 09:36:10 【问题描述】:

我正在开发 modx 管理器自定义页面,无法检查用户是否已登录并有权访问管理器?到目前为止我试过了

$modx->user->get('username');

我得到的只是 (匿名),即使我已登录并且未登录。我也尝试过 sessioncontext 等。难道我做错了什么。有没有人遇到同样的问题。

【问题讨论】:

【参考方案1】:

您需要一个自定义的 sn-p 来管理为已登录或未登录的人显示内容,并使用 Login Extra 轻松访问用户字段。然后将其粘贴并命名为isAdmin

<?php
if ($modx->user instanceof modUser) 
    if ($modx->user->hasSessionContext('mgr'))  
        return true;
    

return false;

然后你想这样使用它......

[[!isAdmin:notempty=`
    <!-- Do something for people logged in -->

`:default=`
    <!-- Do something for everyone else -->
`]]

代码来自Mark Hamstra's blog。

【讨论】:

我创建了 sn-p 并使用 var_dump($modx->runSnippet('isManagerLogin')); 从位于 base_url/modules/demo/check.php 文件中的我的 php 文件中调用它方法,但它不起作用。返回字符串(0)“”

以上是关于Modx 管理器自定义页面检查用户是不是已登录并具有管理器访问权限的主要内容,如果未能解决你的问题,请参考以下文章

Android Google 登录:检查用户是不是已登录

检查用户登录的ajax页面是不是改变

Google 跟踪代码管理器自定义变量返回未定义

如何检查页面是不是已启动或用户是不是已连接到域

如何检查用户是不是已经喜欢 Facebook 页面?

AWS Amplify,如何检查用户是不是登录?