1

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

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

这是预期的行为吗?还是我设置不正确?

更新。Darmen 要求提供一些代码。我没有写太多代码,而是主要做了一些配置。如果有帮助,这就是我所做的

  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 ]
    
4

0 回答 0