CakePHP Omleiden naar dashboard op basis van gebruikers-ID

Nadat de gebruiker zich op het systeem heeft aangemeld, op basis van user_id, doorsturen naar zijn eigen dashboard, zou de URL moeten lijken op .../dashboard/userid, op het dashboard worden bijvoorbeeld de laatste bestellingen weergegeven die de gebruiker niet heeft geplaatst

I read How to build a “dashboard” for your application in CakePHP.

maar het is hetzelfde voor alle gebruikers Hoe kan ik $ userid toewijzen aan/dashboard?

Erg bedankt.

0

2 antwoord

Ik denk niet dat dit een correct ontwerp is. U moet een universele URL hebben voor alle gebruikersdashboards (/ dashboard) en de component Auth gebruiken om de user_id op te halen en op basis daarvan weer te geven.

$user_id = $this->Auth->user('id');
$orders = $this->Order->findByUserId($user_id);
2
toegevoegd
Ja, een apart dashboard voor alle klanten en een voor beheerders is de juiste keuze. Graag gedaan. (vergeet niet het antwoord te accepteren: o))
toegevoegd de auteur Nick Zinger, de bron
Ja dit. Maak gewoon een enkele dashboardactie (of misschien een dashboardcontroller met een indexactie, wat u maar wilt) en laat deze de id van de momenteel geverifieerde gebruiker gebruiken. Als je het deed zoals je aanvankelijk voorstelde, hadden gebruikers toegang tot het dashboard van een andere gebruiker door de URL te wijzigen, of je zou moeten testen of hun ID gelijk is aan de parameter die ze in ieder geval hebben doorgegeven, dus doe het gewoon zo.
toegevoegd de auteur swiecki, de bron
bedankt, ik denk dat ik twee dashboards moet maken, een voor klanten, een voor een admin en dan je advies opvolgen, dat is logisch. nogmaals bedankt
toegevoegd de auteur user1477673, de bron

Voor omleiding die je zou kunnen doen:

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

Bedoelde u zoiets als dit

1
toegevoegd
als dit bij je probleem past, kun je het markeren als geaccepteerd antwoord
toegevoegd de auteur Sudhir Bastakoti, de bron
bedankt. Het is precies wat ik wil doen.
toegevoegd de auteur user1477673, de bron