php – 授予bjyauthorize权限,以便从CLI运行ZF2的mvc应用程序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 授予bjyauthorize权限,以便从CLI运行ZF2的mvc应用程序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1592字,纯文字阅读大概需要3分钟。
内容图文
![php – 授予bjyauthorize权限,以便从CLI运行ZF2的mvc应用程序](/upload/InfoBanner/zyjiaocheng/794/af34c441ed574350bc8089b0c05096ae.jpg)
我在ZF2上有一个完全运行的mvc应用程序.我想从命令行运行一些操作.我已正确设置我的控制台路由和其他环境.当我从CLI运行我的应用程序时,我得到了Permission denied异常,如下所示:
'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用户运行Actions?
编辑:
对于上述控制器,以下是bjyauthorize.global.php中的警卫数组.
'guards' => array(
'BjyAuthorize\Guard\Controller' => array(array('controller' => 'GeneratePdf\Controller\GeneratePdf', 'roles' => array('admin', 'letters_admin'))
我也使用过ZfcUser.如何从CLI传递用户登录凭据.或者,如果有任何方法可以使用来自cli的用户会话.
谢谢
解决方法:
我找到了解决方案.我无法为cli用户授予权限,但它是通过从CLI运行时禁用bjyAuthorize来完成的.
我找到了解决方案:How to use BjyAuthorize in ZF2 CLI application?
如果他们发现了这个问题,以下是其他人的解释:
要在从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方法中检查Console,如下所示
if (!Console::isConsole()) {
$authorize = $sm->get('BjyAuthorize\Service\Authorize');
$acl = $authorize->getAcl();
$role = $authorize->getIdentity();
}
最后但同样重要的是,不要忘记导入Console类:
use Zend\Console\Console;
内容总结
以上是互联网集市为您收集整理的php – 授予bjyauthorize权限,以便从CLI运行ZF2的mvc应用程序全部内容,希望文章能够帮你解决php – 授予bjyauthorize权限,以便从CLI运行ZF2的mvc应用程序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。