问题标签 [zfc-rbac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
zend-framework2 - ZfcRbac 角色提供者和身份 getRoles()
使用时我无法理解一个概念ZfcRbac
。
1.我使用自己的User
实体来实现ZfcRbac\Identity\IdentityInterface
2.这个接口有addRole
和getRoles
方法,getRoles()
应该返回数组Rbac\Role\RoleInterface
所以我有一个数组Rbac\Role\RoleInterface
3.我从我的自定义模型中获取角色,并通过在验证用户时将角色添加到User
实体addRole()
4. Rbac\Role\RoleInterface
具有hasPermission()
返回角色权限的方法
摘要:身份验证后,我拥有User
每个角色的经过身份验证的身份信息、角色和权限。为什么我需要另一个RoleProvider
并列出我在其中的所有角色?我错过了什么?
php - 登录后zfc-rbac重定向到referrer
登录后有没有办法让我重定向到引荐网址?
我的配置中有这个:
previous_uri_query_key
当用户访问他们没有权限的页面时,将附加唯一的。一个例子是某人正在浏览然后登录,但想从他们离开的地方继续浏览。
我曾尝试$_SERVER['HTTP_REFERER']
在登录操作上使用,但我正在运行该操作来加载页面,然后一旦他们发布了他们的凭据,它就会将它们登录。这样做,服务器现在认为引荐来源是登录页面,只需要你回到那里。
可能有一个简单的解决方案,但我目前没有看到它。
******************杰里-里格******************
所以这就是我暂时使用的。我不会把这个作为答案,因为我想要一个更好的解决方案。如果我有时间回去解决这个问题,我会发布我的解决方案。但现在这是我正在使用的。
我调用的函数shouldAddRedirect
看起来像这样
zend-framework2 - ZendDeveloperTools 不适用于 ZfcRbac
我安装了 ZfcRbac 而不是 BjyAuthorize。ZendDeveloperTools 的工具栏正在部分工作。我找不到以下警告的原因。我的设置中缺少什么?
警告:在 C:\dev\xampp\htdocs\OnlineFieldEvaluation\vendor\zf-commons\zfc-rbac\view\zend-developer-tools\toolbar\zfc-rbac.phtml 第 94 行中为 foreach() 提供的参数无效
注意:未定义索引:第 38 行 C:\dev\xampp\htdocs\OnlineFieldEvaluation\vendor\zf-commons\zfc-rbac\view\zend-developer-tools\toolbar\zfc-rbac.phtml 中的守卫
来宾角色
(!)注意:未定义索引:C:\dev\xampp\htdocs\OnlineFieldEvaluation\vendor\zf-commons\zfc-rbac\view\zend-developer-tools\toolbar\zfc-rbac.phtml中的选项在线19
编辑 1: 我与 ZfcRbac 相关的这部分更改破坏了 ZendDeveloperTools:
zfc_rbac.global.php
这是我的 zdt.local.php :
php - 如何将我的 zfc-rbac 保护配置移动到 Doctrine?
我在 zf2 内部的管理员中内置了权限和角色。我想将警卫从配置文件移动到数据库。
我看到有一个 GuardInterface 但我没有在 zfc-rbac 文档中看到指南。 https://github.com/ZF-Commons/zfc-rbac/blob/master/docs/04.%20Guards.md
我试过镜像角色提供者的实现,我没有收到任何错误,但警卫似乎没有启动。
有没有我可以遵循的指南来帮助我实现这一点?
php - ZendFramework 2 ZfcRbac 模块无法实例化 ZfcRbac\Guard\RouteGuard
我成功使用 ZfcRbac 模块一年多了,但在升级到 ZF2 2.5 版后,我收到以下错误,我不知道为什么会这样,希望你能帮我理解这个问题:
已向“ZfcRbac\Guard\GuardPluginManager”类型的插件管理器请求服务“ZfcRbac\Guard\RouteGuard”,但无法检索。在此过程中引发了先前类型为“Zend\ServiceManager\Exception\ServiceNotCreatedException”的异常。顺便说一句,在父服务定位器“Zend\ServiceManager\ServiceManager”中找到了一个名为“ZfcRbac\Guard\RouteGuard”的服务:您是否忘记在您的工厂中使用 $parentLocator = $serviceLocator->getServiceLocator()代码?
这是我的堆栈跟踪:
我正在通过作曲家自动加载器加载所有类。如果我禁用 config/application.config.php 中的模块,我会让网站正常工作。
提前致谢。
zend-framework2 - 使用 ZfcRbac 将警卫移动到 ZF2 应用程序中的数据库
我正在使用ZfcRbac
为我的 ZF2 应用程序管理基于角色的访问控制。目前我正在通过以下方式更新guards
inzfc_rbac.global.php
文件来控制访问。
我正在努力寻找将其移至数据库的方法。希望任何人都可以帮助我将此访问控制定义移至数据库。
php - ZfcRbac 无法识别我的登录用户角色
ZfcRbac 出于某种原因无法识别我的身份角色。我已经使用了几个小时,但它似乎无法从我的身份中获取角色,这很奇怪,因为它肯定可以从身份验证服务中询问。
以上转储以下内容:
现在确保这肯定是相同的身份验证服务:zfc_rbac.global.php
模块.config.php
在控制器中
返回
其中 Application\Authentication\AuthenticationService 只不过是 Zend Authentication Service 的扩展,并实现了 IdentityProviderInterface。现在我知道这不是必需的,但我尝试了它只是为了确定。
到目前为止一切都很好(我认为)。
好的,我曾尝试发布图像,但我的声誉缺乏这种可能性。因此,我将确认 Zend Devveloper Toolbar 确实在最右侧的选项卡上显示了 RoleProvider 提供的所有角色。但在最左边,身份角色仍然是客人。这显然是错误的,因此没有任何效果。
我真的被困在这里,这是一个令人讨厌的障碍,因为我觉得我距离让我的 RBAC 正常工作只有一小步。
额外信息:我不使用 Doctrine。这是我自己制作的数据库/映射器系统,可提供 ZfcRbac 对我的任何要求。
我一起使用 ZfcUser 和 ZfcRbac。
版本:
任何指示或帮助将不胜感激!
zend-framework2 - zfcuser 的“忘记密码”
我正在使用 zfcuser 和 zfcrbac。ZfcUser 没有完整的“忘记密码”(或重置密码)功能。用于重置密码功能的最佳模块是什么?理想情况下,我想使用带有标记链接的电子邮件,但任何好的解决方案都会有所帮助。
zend-framework2 - 第二个 ZfcRbac 断言不起作用 | ZF2
我在里面添加了以下代码zfc_rbac.global.php
:
并在控制器内部使用它,如下所示:
但即使我return true
来自断言方法,它也会抛出异常。但如果我替换isBranchOrOrgIdPresentIfNotAdmin
为isAuthorizedToAddUser
,它的工作正常。这里可能有什么问题。第二个断言类BranchOrOrgIdPresentIfNotAdmin
只是类的副本WhoCanAddUser
。下面是我的WhoCanAddUser
断言类。
我是否遗漏了第二个断言根本不起作用的东西。
php - ZFC Rbac UnauthorizedStrategy 和 Zend Framework 3
我阅读了关于 Strategies 的文档,似乎下面的代码至少在 Zend Framework 2 中是有效的。当然,我测试了它。
但是当使用 Zend Framework 3 时,它就不再起作用了。它将显示以下错误:
致命错误:未捕获的类型错误:传递给 Zend\EventManager\EventManager::attach() 的参数 2 必须是可调用的,给定的对象,在 /var/www/sub.domain.tld/html/module/Application/src/Module 中调用。第 20 行的 php
所以基本上我现在被卡住了。您至少能指出或指导我正确的方向吗?