0

ログインしたユーザーの ID に基づいてルーティングを変更することは可能ですか?

たとえば、ルート「/users/1/comments」でユーザー番号 1 のすべてのコメントを取得し、「users/1/settings」で設定を取得するとします。

ログインしたユーザー {id} が 1 の場合、「users/current/comments」と「users/current/settings」は同じエンドポイントに移動できますか?

リスナーとリダイレクトを使用することを考えましたが、それはひどいですね。

4

2 に答える 2

0

URLでIDを指定せずに、ログインしたユーザーに基づいてこれを行うことができるので、

/users/comments 

これはコントローラーにリダイレクトします。そのコントローラーでは、ユーザーIDを取得できます

$this->getUser()->getId()

2 つのルートの場合、両方を同じアクションにリンクするだけです。

于 2013-08-31T14:50:49.607 に答える
0

実際、番号付きの {id} 値と同じように、コントローラーで同じアクションを実行させました。すなわち。users/{id}/comments と users/current/comments の両方に行きました:

commentsAction($id)
{
    if ($id=='current') {
        $securityContext = $this->get('security.context');
        $currentuser = $securityContext->getToken()->getUser();
        $id=$currentuser->getId();
     }

     // etc...
}
于 2013-09-04T13:07:37.830 に答える