当sfDoctrineGuard因缺少权限而拒绝访问时,强制注销

时间:2011-04-04 03:06:40

标签: symfony1 sfdoctrineguard

我正在使用sfDoctrineGuard模块来管理我的symfony项目的权限。

我注意到以下行为:如果您以一个用户身份登录,然后尝试访问您没有凭据的内容,那么您将被告知并提供登录屏幕。如果您然后尝试以不同的用户身份登录,则无法:您持续获得相同的权限拒绝错误。您似乎必须明确注销(或关闭浏览器)才能在会话中删除您的用户凭据,然后才能以其他用户身份重新登录。

这是预期的行为吗?或者我错误地设置了什么?

更新即可。达门要求提供一些代码。我没有编写太多代码,而是主要进行了一些配置。如果它有帮助,这就是我做的

  1. 根据插件的文档安装sfDoctrineGuard模块。
  2. 通过编辑config/ProjectConfiguration.class.php

    启用该模块
    class ProjectConfiguration extends sfProjectConfiguration
    {
      public function setup()
      {
        $this->enablePlugins('sfDoctrinePlugin');      // Add this
        $this->enablePlugins('sfDoctrineGuardPlugin'); // Add this
      }
    }
    
  3. 重建模型。

  4. 通过修改backend

    来保护apps/backend/config/security.yml应用程序
    default:
      is_secure: true
    
  5. 我创建了一些用户,组和权限。我将其中一个模块限制为与权限perm_backend_edit相关联的用户或群组,方法是将其添加到apps/backend/modules/book/config/security.yml

    default:
      is_secure: true
      credentials: [ perm_backend_edit ]
    

0 个答案:

没有答案