0

質問は簡単です。FOS UserBundle を使用してアプリケーション ユーザーを処理しています。

私には 3 つの役割 (スーパー管理者、cm、ユーザー) があり、スーパー管理者が登録フォームからユーザーを作成し、それらのユーザーに役割 (cm またはユーザー) を追加できるようにしたいと考えています。

登録に問題がない場合、アプリケーションは登録/確認済みの URL にリダイレクトされ、作成された新しいユーザーでログに記録されます。アイデアは、スーパー管理者のログインを維持し、別のページにリダイレクトすることです。この動作を変更するにはどうすればよいですか?

たぶんイベントで?REGISTRATION_CONFIRMED

ありがとうございます。

4

1 に答える 1

0

これを行う最も簡単な方法は、スーパー管理者のみがアクセスできるように保護された独自のコントローラーを作成することです。コントローラーで、新しいユーザーを作成するためのフォームを作成し、次のようにします。

$user = $this->get('fos_user.user_manager')->createUser();
$form = ;// create a form or look at the FOSUserBundle:Register controller to see how they use the form factory
$form->handleRequest($request)
if ($form->isValid) {
    $user->setEnabled(true); // allows user to login without needing to confirm
    $this->get('fos_user.user_manager')->updateUser($user);
}
于 2013-10-08T16:19:49.167 に答える