授予 bjyauthorize 从 CLI 运行 ZF2 mvc 应用程序的权限

2024-04-10

我在 ZF2 上有一个完全运行的 mvc 应用程序。我想从命令行运行一些操作。我已经正确设置了控制台路由和其他环境。当我从 CLI 运行我的应用程序时,出现权限被拒绝的异常,如下所示:

'You are not authorized to access GeneratePdf\Controller\GeneratePdf\GeneratePdf:generate-all' in /var/www/zf2-reporting/module/BjyAuthorize/src/BjyAuthorize/Guard/Controller.php‌​:172

我的数据库中已经有一些用户。如何使用这些凭据来授权 CLI 用户运行操作?

Edit:

以下是 bjyauthorize.global.php 中提到的控制器的守卫数组。

'guards' => array(
'BjyAuthorize\Guard\Controller' => array(array('controller' => 'GeneratePdf\Controller\GeneratePdf', 'roles' => array('admin', 'letters_admin'))

我也用过 ZfcUser。如何从 CLI 传递用户登录凭据。或者是否有任何方法可以使用 cli 中的用户会话。

Thanks


我找到了解决方案。我无法向 cli 用户授予权限,但它是通过在从 CLI 运行时禁用 bjyAuthorize 来完成的。

我找到了解决方案:如何在 ZF2 CLI 应用程序中使用 BjyAuthorize? https://github.com/bjyoungblood/BjyAuthorize/issues/223

如果其他人发现此问题,以下是他们的解释:

要在从 cli 运行时禁用 bjyAuthorize,我们可以在 application.config.php 中执行如下操作。

最初不要在 application.config.php 数组中添加“BjyAuthorize”和“BjyProfiler”。检查控制台,如果没有控制台访问权限,则将它们添加到 $config 数组中。

if (!Console::isConsole()) {
    array_unshift($config['modules'], 'BjyAuthorize');
    array_unshift($config['modules'], 'BjyProfiler');
}
return $config;

另外,还需要检查 Application/Module.php 的 onBootstrap 方法中的控制台,如下所示

if (!Console::isConsole()) {
        $authorize = $sm->get('BjyAuthorize\Service\Authorize');
        $acl = $authorize->getAcl();
        $role = $authorize->getIdentity();
    }

最后但并非最不重要的一点是,不要忘记导入 Console 类:

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

授予 bjyauthorize 从 CLI 运行 ZF2 mvc 应用程序的权限 的相关文章

随机推荐

  • 显示 JPanel 调整了另一个 JPanel 的大小

    我有一个关于嵌套 BoxLayout 的问题 我想构建一个由 2 个子面板组成的 DropDownPanel 顶部的标题和底部的正文 身体最初是隐藏的 通过单击标题 您可以切换正文的可见性并显示其内容 例如展开 折叠 一般来说 这工作得很好
  • “cabal install cabal-install”不会更新 OSX 中的 cabal 版本

    我是 haskell 和 cabal 的新手 所以我可能错过了一些简单的东西 我更新了 cabal install sudo cabal install cabal install Password Resolving dependenci
  • 如何使用 Git API 获取 GitHub 存储库的社交预览图像链接?

    我拥有许多 GitHub 存储库 通常每周添加项目 我正在使用 GitHub 页面制作自己的网站 因为我只能在 GitHub 页面上托管静态网站 因此我将使用 GitHub API 来自动更新网站上的新项目 但我还想向其中添加预览 示例图像
  • 无法切换到打瞌睡模式

    我正在遵循这方面的说明安卓页面 http developer android com training monitoring device state doze standby html为了将 android 切换到 doz 模式来测试我的
  • 如何构建增量有向非循环词图来存储和搜索字符串?

    我试图以简洁的方式存储大量字符串列表 以便可以非常快速地分析 搜索它们 有向非循环词图 DAWG 非常适合这个目的 但是 我首先没有要包含的字符串列表 因此它必须是可增量构建的 此外 当我在其中搜索字符串时 我需要带回与结果相关的数据 而不
  • 如何重用现有分支名称作为新分支?

    我的目的是拥有一个开发分支 我可以在其中创建功能分支 这些功能分支将被合并到 dev 分支 然后 dev 分支将被合并回 master 一些我如何搞砸了 我留下了我的开发分支 所以这就是我现在所拥有的 我认为将password rest a
  • 支持 RecyclerView 在触摸之前不显示任何内容

    我在我的应用程序中使用支持 RecyclerView 我看到了最奇怪的事情 在我触摸滚动之前它不会显示任何项目 然后 突然间 RecyclerView 就会自行填充 我已经验证支持适配器的列表已填充 并且 onCreatViewHolder
  • Oracle 11 SQL:有没有办法将 1 行拆分为 x 行

    客户要求将 Oracle DB SQL 中的 1 行拆分为 6 行 比方说 最初的 SQL 具有多个连接的复杂 sql 等 拉入 9 列 从 X Y Z 中选择 A B C D E F G H I 但查询相当复杂 1 A B C D E F
  • 查询中的 Firebase StartAfter 未按预期工作

    我使用 firebase firestore 作为数据库 并且编写了 firebase 函数来从 firestore 数据库检索数据 我想要实现的是分页 根据文档我已经实现了我的 firebase 函数的代码 下面是代码 exports g
  • Python 中的隔离森林

    我目前正在使用以下方法检测数据集中的异常值隔离森林 https scikit learn org stable modules generated sklearn ensemble IsolationForest html在 Python
  • AttributeError:使用 CRF 时“Tensor”对象没有属性“_keras_history”

    我知道关于这个问题有很多问题 我已经阅读了其中的一些问题 但没有一个对我有用 I am trying to build a model with the following architecture 代码如下 token inputs In
  • sys.stdout.flush 在 jupyter 笔记本中不起作用

    所以我只想重新运行此存储库中的代码 https github com dennybritz reinforcement learning blob master MC MC 20Prediction 20Solution ipynb htt
  • 如何正确重写 JacksonAnnotationIntrospector._findAnnotation 以替换元素的注释

    我正在尝试创建一些可由杰克逊序列化的类 我想用标准 Jackson 注释来注释一些元素 让我们考虑一下JsonIgnore对于这个例子 但我希望它们只在我的特定映射器中有效 因此 我决定创建自己的注释 例如标准注释 例如 MyJsonIgn
  • 在现有表上创建序列

    如何在表上创建一个序列 使其从 0 gt 最大值 我尝试使用以下 SQL 代码 但它不会将任何值插入到我正在使用的表中 CREATE SEQUENCE rid seq ALTER TABLE test ADD COLUMN rid INTE
  • 如何修复信号器的 ChunkLoadError

    我在本地运行我的 nx 站点时遇到问题 任何使用 signalR 的联合应用程序都开始抛出 ChunkLoadError 我尝试过更改 signalR 的版本 重新加载 清除缓存并单独运行我的联合应用程序 结果总是一样的 Uncaught
  • 如何找到 Discord 机器人所连接的语音聊天

    我正在制作一个通过语音识别激活的不和谐机器人 我一开始就让他加入语音频道 正在运行 我试图发出命令让他离开 const commando require discord js commando class LeaveChannelComma
  • 如何解决2+2和2++2冲突

    在更大的程序中 我给出了以下内容 flex bison In flex pn dig 0 9 exp e E dig printf detected n return PLUS SIGN pn dig printf digit detect
  • 从 Console.ReadLine 输入检索数据类型

    我对编程还很陌生 我遇到了挑战 但我需要你的帮助 我的任务是编写一个程序 从控制台读取一些内容 然后如果它的数字它会打印 1 如果它的字符串它看起来像这样 string 这是我的代码 但有问题 我无法弄清楚 必须使用 Switch Case
  • DBD::Oracle 安装导致错误

    我想通过 Perl 连接到 Oracle 数据库 为此 我尝试使用以下命令从 CPAN 安装 DBD Oracle root localhost Admin cpan DBD Oracle 在我的 Linux 终端上运行上述命令时 出现以下
  • 授予 bjyauthorize 从 CLI 运行 ZF2 mvc 应用程序的权限

    我在 ZF2 上有一个完全运行的 mvc 应用程序 我想从命令行运行一些操作 我已经正确设置了控制台路由和其他环境 当我从 CLI 运行我的应用程序时 出现权限被拒绝的异常 如下所示 You are not authorized to ac