Magento - 检查管理员和客户是否登录

2024-04-22

我有一个安装了 Magento 1.4.0.1 的 Web 服务器。我有另一个与之共享凭据的网站。我已经设法检查客户是否登录(在更改 Magento 中的 cookie 位置之后),但是当我还尝试确定管理员是否登录时,事情变得复杂。我只能得到正确的答案对于我要求的第一个会话(无论是客户还是管理员,第二个会话从未登录)。

我怎样才能得到两个答案?

这是我用来测试的代码:


require_once '../app/Mage.php';
umask(0) ;

Mage::app();

// Checking for customer session
Mage::getSingleton('core/session', array('name'=>'frontend') );
$session=Mage::getSingleton('customer/session', array('name'=>'frontend') );

if ($session->isLoggedIn()) {
    echo "Customer is logged in";
} else {
    echo "Customer is not logged in";
}

// Checking for admin session
Mage::getSingleton('core/session', array('name'=>'adminhtml') ); 
$adminsession = Mage::getSingleton('admin/session', array('name'=>'adminhtml'));

if($adminsession->isLoggedIn()) {
    echo "Admin Logged in";
} else {
    echo "Admin NOT logged in";
}

因此,使用这样的代码,管理员永远不会登录。如果您首先放置有关管理员的部分,那么客户永远不会登录。看起来我在两个请求之间缺少一行。

这可能与这个未回答的问题是同一问题:Magento如何检查管理员是否在模块控制器中登录 https://stackoverflow.com/questions/3342165/magento-how-to-check-if-admin-is-logged-in-within-a-module-controller

这似乎是一个普遍的问题,但我找不到正确的解决方案......

感谢您的帮助!


我从另一个角度发现了“错误功能”(尝试从管理端登录客户),但仍然找到了原因。

问题出在 session_name() 函数上。如果您转到 Mage_Core_Model_Session_Abstract_Varien,您会看到会话对象正在使用标准 PHP 会话函数,并且 PHP 无法同时处理两个会话。

管理端的会话 ID 存储在 cookie adminhtml 中,而客户端的会话 ID 存储在前端 cookie 中。然后在 adminside 中,您拥有由 adminhtml cookie 初始化的会话 ID。在管理端时,您的客户/会话对象存储在 PHP 会话内的 $_SESSION['customer'] (尚未检查确切的密钥)之类的内容中,以获取存储在 adminhtml cookie 中的 ID。这意味着在 magento 的管理部分和客户端部分中,客户/会话对象指的是不同的会话。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Magento - 检查管理员和客户是否登录 的相关文章

随机推荐

  • 如何链接Intel MKL库,只需使用cblas_dgemm函数

    我想测试Intel MKL矩阵乘法 所以我包括并且只使用 cblas dgemm 函数 但它总是说 undefined reference to cblas dgemm 我还链接了 lmkl core lmkl blas95 lp64 lm
  • Oracle中如何通过XPath获取第一个元素

    在我的 Oracle 数据库中 我有这样的记录
  • Heroku 找不到 Postgres JDBC 驱动程序

    使用 Maven 为 Heroku 编写纯 Java 服务器应用程序 连接到 Heroku 的 Postgres 数据库 运行时一切正常locally 使用 IntelliJ 的配置来运行 Java 应用程序 将 Heroku 的 DB U
  • wp 作业管理器自定义日期过滤器

    我正在使用 wp job manager 并尝试按开始日期进行过滤 搜索 这是我的代码 它对我不起作用 add filter job manager get listings filter by date field query args
  • 如何访问 nvd3 中 d3 图的 x 和 y 比例?

    我正在使用 nvd3 绘制一些系列 并想向图中添加一些任意矩形 如何访问 d3 图的底层 x 和 y 比例 以便将矩形坐标转换为 svg 像素坐标 以便与现有数据的比例相同 function d3 render response nv ad
  • 在 IE 中使用 html 音频:MEDIA12899:音频/视频:未知的 MIME 类型

    html如下
  • mysql中可以使用if语句吗?

    我正在尝试创建一个查询 该查询将生成取决于价格的总使用量 我不知道这是否可以在查询中实现 所以就在这里 主表 这个表是所有人的 所以这个是连续的 这个可以添加 ID列是唯一的 id price date created 25 8 5 201
  • PHP CodeSniffer 有多有用?代码标准的总体执行情况? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从 android 连接到 PrestaShop Web 服务时出现 401 错误

    我试图在 PrestaShop 中调用 Web 服务 但收到 401 未授权错误 即使我已经通过了用户名密钥 我也尝试了身份验证器 但收到错误 HttpRetryingError 在下面找到我所做的代码片段 方法一 final String
  • 将 SSL 连接到子域 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已为我的主域分配了 SSL 我想知道是否可以将 SSL 用于我的子域 我坦白地尝试了一下 但它显示警告页面 说该页面不安全等等 有没有解决方案 以便
  • 如何使用故事板通过自定义图像设置 iPhone 选项卡栏图标

    我是 iphone 开发的新手 我需要在标签栏中放置一个自定义图像图标 但它只显示默认颜色 黑色和蓝色 帮助我克服这个错误朋友 在应用程序中添加图像 并参见附图
  • 如何在hadoop/map reduce中创建固定行数的输出文件?

    假设我们有 N 个具有不同行数的输入文件 我们需要生成输出文件 使得每个输出文件恰好有 K 行 最后一个输出文件可以有 是否可以使用单个 MR 作业来完成此操作 我们应该打开文件以便在reducer中显式写入 输出中的记录应该被打乱 tha
  • 父子表记录-构建SQL查询

    这是我的表格和这些表格的数据 表名 Code CID Code 1 abc 2 def 3 xyz 表名 Details ID Name CID 1 a 1 2 b 2 结果表 ID Code Name 1 abc a 2 abc Null
  • 数据库中的额外查询或额外列哪个更好?

    对于可用时间非常短的数据来说 额外的查询或数据库中的额外列更好 示例 在子用户管理的情况下 我在主用户 表中添加一列额外的 super user id 并在用户类型为 sub user 且默认列值为 1 时进行输入 或者我创建新表并管理该表
  • 您如何处理标准库的signed char -> int 问题?

    这是我工作中一个长期存在的问题 我意识到我still没有好的解决办法 C 天真地为 int 定义了它的所有字符测试函数 int isspace int ch 但是字符通常是带符号的 并且完整的字符通常不适合 int 或用于字符串的任何单个存
  • 如何渲染响应?

    我正在使用 render to response 将列表发送到模板 我正在使用 django 快捷方式 锄头要这么做吗 如何使用变量设置上下文实例 from django shortcuts import render to respons
  • C#:将设置导入文件/从文件导出设置

    从应用程序内将应用程序内部设置导入 导出到文件中的最佳方法是什么 我有 Settings settings 文件 与设置文件绑定的 winform UI 并且我想要导入 导出设置 类似于 Visual Studio 导入 导出设置功能 如果
  • 如何测试 ANT 中的目录是否为空?

    如何测试 ant 中的目录是否为空 您可以使用pathconvert http ant apache org manual Tasks pathconvert html任务来做到这一点 与setonempty财产
  • Lua中如何对数字表求和?

    Lua有内置的吗sum 功能 我似乎找不到一个 我几乎翻遍了文档中的所有地方 或许table sum 或类似的东西 以遵循当前的约定 但由于我找不到它 我不得不实现它 function sum t local sum 0 for k v i
  • Magento - 检查管理员和客户是否登录

    我有一个安装了 Magento 1 4 0 1 的 Web 服务器 我有另一个与之共享凭据的网站 我已经设法检查客户是否登录 在更改 Magento 中的 cookie 位置之后 但是当我还尝试确定管理员是否登录时 事情变得复杂 我只能得到