0

3つのアプリがあるとします- appMain、、。app1app2

アプリケーション1と2は保護されておりis_secure: true、sfDoctrineGuardプラグインですべて正常に動作します。

私が達成したい動作は、ユーザーが認証されていない場合、たとえばappMain定義されたモジュールとアクションを使用して、ユーザーを別のユーザーに転送する現在のアプリケーションです。

それは可能ですか?または、誰かがsymfonyのセキュリティメカニズムについて掘り下げる場所を教えてもらえますか?

4

3 に答える 3

1

絶対URLを作成し、そこにリダイレクトします(「KeepIt Simple、Stupid」)。

于 2010-12-26T19:15:07.570 に答える
0

標準のapps/frontendがあるとすると、apps / frontend/configにファイルsettings.ymlがあります。

ここのデフォルトセクションでは、次のようにします

default:
  .actions:
    error_404_module:       content
    error_404_action:       404

    login_module:           security
    login_action:           login

これにより、セキュリティ/ログイン(またはモジュールとテンプレートと呼ばれるもの)にリダイレクトされます

私は通常、トップレベルのapps / frontend / config/security.ymlを.に設定します。

default:
  is_secure: true

これにより、サイト全体が保護され、次に、パブリックにアクセス可能なモジュールでセキュリティが確保されます。この場合、セキュリティはconfig.ymlを作成し、次のように設定します。

default:
  is_secure: false

次に、ユーザーが次のようにログインしたときに、認証が真であるという事実を保存する必要があります。

$this->getUser()->setAuthenticated(true);

[編集]私はsfDoctrineGuardを使用していないことを指摘する必要があります

于 2010-12-26T11:59:19.460 に答える
0

さて、これで動作しました。まず、アプリケーションはセキュリティで保護されたモジュール/アクションに転送し、そのアクションでメインアプリケーションのURLにリダイレクトします。このURLは認証を処理し、再度リダイレクトします。

みんなありがとう。

于 2010-12-27T04:07:01.850 に答える