1

私はSymfony2が初めてです。ユーザー認証に FOSUserBundle を使用しようとしています。

フロントエンドセクションだけでなく、管理者にも単一の FOSUserBundle を使用できますか? はいの場合、スクリプト レベルでどのような変更を加える必要がありますか?

私が欲しいのは:

1. if i access url http://localhost/symfony/admin/ then i should be redirected to http://localhost/symfony/admin/login if admin is not logged in and after successful login, i should be redirected to http://localhost/symfony/admin/

2. if i access url http://localhost/symfony/profile/ then i should be redirected to http://localhost/symfony/login if user is not logged in and after successful login, i should be redirected to http://localhost/symfony/profile/.

デフォルトでは、FOSUserBundle は管理者としてユーザーを作成します。したがって、バンドルがフロントエンドのユーザーロールを自動的に作成し、管理セクションの管理者ロールを作成できるようにするには、どのような変更を加える必要がありますか。

4

1 に答える 1

2

ログイン後にロールに応じてユーザーを別のページにリダイレクトするには、セキュリティ構成で authentication-success リスナーをオーバーライドする必要があります。

この回答を見て、symfony のDefaultAuthenticationSuccessHandlerを見て、インスピレーションを見つけてください。

さらに、認証なしでアクセスしようとしている URL に応じて、ユーザーが別のログイン ページにリダイレクトされるようにするには、アクセス拒否ハンドラー (この回答を参照) をオーバーライドする必要があります。

于 2013-09-12T09:47:19.227 に答える