1

sfDoctrineGuard モジュールを使用して、symfony プロジェクトのパーミッションを管理しています。

次の動作に気付きました: 1 人のユーザーとしてログインしているときに、資格情報を持っていないものにアクセスしようとすると、多くのことが通知され、ログイン画面が表示されます。その後、別のユーザーとしてログインしようとすると、ログインできなくなります。同じ権限拒否エラーが引き続き発生します。別のユーザーとして再度ログインする前に、セッションでユーザー資格情報を削除するには、明示的にログアウトする (またはブラウザーを閉じる) 必要があるようです。

これは意図した動作ですか? または、何かを間違って設定しましたか?

更新します。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これを追加することにより、モジュールの1つをアクセス許可に関連付けられたユーザーまたはグループに制限しましたapps/backend/modules/book/config/security.yml

    default:
      is_secure: true
      credentials: [ perm_backend_edit ]
    
4

0 に答える 0