CakePHP如何根据用户id重定向到仪表板

CakePHP如何根据用户id重定向到仪表板,cakephp,Cakephp,用户登录到系统后,根据用户id转发到他们自己的仪表板,url应类似于../dashboard/userid, 例如,仪表板将显示用户下的最新订单,而不是其他订单 我读 但对所有用户来说都是一样的 如何将$userid映射到/dashboard 非常感谢。在此之前,您可以: $this->redirect( array( "controller" => "dashboard", "action" => "index",

用户登录到系统后,根据用户id转发到他们自己的仪表板,url应类似于../dashboard/userid, 例如,仪表板将显示用户下的最新订单,而不是其他订单

我读

但对所有用户来说都是一样的 如何将$userid映射到/dashboard


非常感谢。

在此之前,您可以:

$this->redirect(
    array(
       "controller"   => "dashboard",
       "action"       => "index",
       $user_id
    )
);

你的意思是这样的吗

在你可以做的事情之前:

$this->redirect(
    array(
       "controller"   => "dashboard",
       "action"       => "index",
       $user_id
    )
);

你是说像这样的东西吗?我认为这不是正确的设计。您应该为所有用户仪表板(/dashboard)提供一个通用url,并使用Auth组件检索用户id并基于该id进行显示

$user_id = $this->Auth->user('id');
$orders = $this->Order->findByUserId($user_id);

我认为这不是正确的设计。您应该为所有用户仪表板(/dashboard)提供一个通用url,并使用Auth组件检索用户id并基于该id进行显示

$user_id = $this->Auth->user('id');
$orders = $this->Order->findByUserId($user_id);

是的,这个。只需执行一个仪表板操作(或者可能是一个带有索引操作的仪表板控制器,无论您想要什么),并让它使用当前已验证用户的id。如果您按照最初建议的方式操作,则用户可以通过更改URL访问其他用户的仪表板,或者您必须测试他们的ID是否等于他们以任何方式传递的参数,所以只需这样做。谢谢,我想我应该制作两个仪表板,一个用于客户,一个用于管理员,然后按照您的建议操作,这是有道理的。再次感谢是的,为所有客户提供一个单独的仪表板,为管理员提供一个仪表板。不客气。(记住接受答案:o)是的,这个。只需执行一个仪表板操作(或者可能是一个带有索引操作的仪表板控制器,无论您想要什么),并让它使用当前已验证用户的id。如果您按照最初建议的方式操作,则用户可以通过更改URL访问其他用户的仪表板,或者您必须测试他们的ID是否等于他们以任何方式传递的参数,所以只需这样做。谢谢,我想我应该制作两个仪表板,一个用于客户,一个用于管理员,然后按照您的建议操作,这是有道理的。再次感谢是的,为所有客户提供一个单独的仪表板,为管理员提供一个仪表板。不客气。(记住接受答案:o)