我正在使用sfDoctrineGuard模块来管理我的symfony项目的权限。
我注意到以下行为:如果您以一个用户身份登录,然后尝试访问您没有凭据的内容,那么您将被告知并提供登录屏幕。如果您然后尝试以不同的用户身份登录,则无法:您持续获得相同的权限拒绝错误。您似乎必须明确注销(或关闭浏览器)才能在会话中删除您的用户凭据,然后才能以其他用户身份重新登录。
这是预期的行为吗?或者我错误地设置了什么?
更新即可。达门要求提供一些代码。我没有编写太多代码,而是主要进行了一些配置。如果它有帮助,这就是我做的
通过编辑config/ProjectConfiguration.class.php
:
class ProjectConfiguration extends sfProjectConfiguration
{
public function setup()
{
$this->enablePlugins('sfDoctrinePlugin'); // Add this
$this->enablePlugins('sfDoctrineGuardPlugin'); // Add this
}
}
重建模型。
通过修改backend
apps/backend/config/security.yml
应用程序
default:
is_secure: true
我创建了一些用户,组和权限。我将其中一个模块限制为与权限perm_backend_edit
相关联的用户或群组,方法是将其添加到apps/backend/modules/book/config/security.yml
default:
is_secure: true
credentials: [ perm_backend_edit ]