loguear enviar a una direccion dependiendo del usuario

Hola buenas tardes a todos los integrantes de esta red social. Soy nuevo en utilizar yii framework me descargué la versión 2.0 basic. Estoy utilizando la herramienta de login. Y mi diseño web es que dependiendo de cada usuario que se loguee lo envíe a una dirección donde se encuentra un formulario personalizado dependiendo del usuario. Pensé en las pestañitas automática que se abre cuando un usuario se loguea. Anexo foto del codigo si alguien me podría ayudar se lo agradesco. anexo el codigo yiibasic/views/layouts main.php

<?php

use yii\helpers\Html;

use yii\bootstrap\Nav;

use yii\bootstrap\NavBar;

use yii\widgets\Breadcrumbs;

use app\assets\AppAsset;

/*@var $this \yii\web\View

/* @var $content string */

AppAsset::register($this);

?>

<?php $this->beginPage() ?>

<!DOCTYPE html>

<html lang="<?= Yii::$app->language = ‘es-ES’ ?>">

<head>

&lt;meta charset=&quot;&lt;?= Yii::&#036;app-&gt;charset ?&gt;&quot;/&gt;


&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;


&lt;?= Html::csrfMetaTags() ?&gt;


&lt;title&gt;&lt;?= Html::encode(&#036;this-&gt;title) ?&gt;&lt;/title&gt;


    &lt;?php &#036;this-&gt;head();?&gt;

</head>

<body>

<?php $this->beginBody() ?>

&lt;div class=&quot;wrap&quot;&gt;


    &lt;?php


        NavBar::begin([


            


            'brandUrl' =&gt; Yii::&#036;app-&gt;homeUrl,


            'options' =&gt; [


                'class' =&gt; 'navbar-inverse navbar-fixed-top',


            ],


        ]);


        echo Nav::widget([


            'options' =&gt; ['class' =&gt; 'navbar-nav navbar-right'],


            'items' =&gt; [


                


                


                array('label'=&gt;'Directores', 'url'=&gt;array('directores/index'), 'visible'=&gt;&#33;Yii::&#036;app-&gt;user-&gt;isGuest),


                array('label'=&gt;'Compromisos', 'url'=&gt;array('compromisos/index'), 'visible'=&gt;&#33;Yii::&#036;app-&gt;user-&gt;isGuest),


                ['label' =&gt; '', '' =&gt; ['/site/contact']], Yii::&#036;app-&gt;user-&gt;isGuest ?


                    ['label' =&gt; '', '' =&gt; ['/site/login']] :


                    ['label' =&gt; 'Salir (' . Yii::&#036;app-&gt;user-&gt;identity-&gt;username . ')',


                        'url' =&gt; ['/site/logout'],


                        'linkOptions' =&gt; ['data-method' =&gt; 'post']],


            ],


        ]);


        NavBar::end();


    ?&gt;





    &lt;div class=&quot;container&quot;&gt;


        &lt;div id=&quot;logo&quot;&gt;&lt;img src=&quot;&lt;?php echo Yii::&#036;app-&gt;request-&gt;baseUrl.'/images/alcaldiadetovar4.png'; ?&gt;&quot;width=&quot;1145&quot; height=&quot;200&quot;/&gt;&lt;/div&gt;


        &lt;?= Breadcrumbs::widget([


            'links' =&gt; isset(&#036;this-&gt;params['breadcrumbs']) ? &#036;this-&gt;params['breadcrumbs'] : [],


        ]) ?&gt;


        &lt;?= &#036;content ?&gt;


    &lt;/div&gt;


&lt;/div&gt;

<footer class="footer">

    &lt;div class=&quot;container&quot;&gt;


        &lt;p class=&quot;pull-left&quot;&gt;&amp;copy; Alcaldía del Municipio Tovar &lt;?= date('Y') ?&gt;&lt;/p&gt;


        &lt;p class=&quot;pull-right&quot;&gt;&amp;copy; Creado por el pasante de Ing. de Sistmas Jose carrillo en las Fecha Octubre de  &lt;?= date('Y') ?&gt;&lt;/p&gt;


    &lt;/div&gt;


&lt;/footer&gt;

<?php $this->endBody() ?>

</body>

</html>

<?php $this->endPage() ?>

Hola,

según estoy viendo, en la plantilla que te has descargado,

los usuarios están definidos en

model/User.php




    private static $users = [

        '100' => [

            'id' => '100',

            'username' => 'admin',

            'password' => 'admin',

            'authKey' => 'test100key',

            'accessToken' => '100-token',

        ],

        '101' => [

            'id' => '101',

            'username' => 'demo',

            'password' => 'demo',

            'authKey' => 'test101key',

            'accessToken' => '101-token',

        ],

    ];



Y el login se hace a través del SiteController (archivo controllers/SiteController.php)

en la acción login




 public function actionLogin()

    {

        if (!\Yii::$app->user->isGuest) {

            return $this->goHome();

        }


        $model = new LoginForm();

        if ($model->load(Yii::$app->request->post()) && $model->login()) {

            return $this->goBack();

        } else {

            return $this->render('login', [

                'model' => $model,

            ]);

        }

    }



Como ves aquí, cuando los usuarios hacen login correctamente:




if ($model->load(Yii::$app->request->post()) && $model->login()) {



Se les manda a la página de donde venían con ese




$this->goBack();



Creo que lo más fácil que puedes intentar es sustituir ese $this->goBack() por un redirect a la página donde quieras mandarles.

Una vez que $model->login() ha devuelto true (quiero decir, una vez que estás dentro del if{} ese,

ya puedes acceder al usuario que hay logeado actualmente y saber quién es.

A lo mejor puedes definir una propiedad extra a los usuarios por ejemplo:




'100' => [

        'id' => '100',

        'username' => 'caimanrockero',

        'password' => 'admin',

        'authKey' => 'test100key',

        'accessToken' => '100-token',

        'url' => '......url a la que quieres redirigirles....'


], 



Solo son ideas.

Suerte ;)

ok heeee con un unico usuario y formulario me funciona de esta manera muy bien: en el SiteController

public function actionLogin()

{


    if (&#33;&#092;Yii::&#036;app-&gt;user-&gt;isGuest) {


        return &#036;this-&gt;goHome();


    }





    &#036;model = new LoginForm();


    if (&#036;model-&gt;load(Yii::&#036;app-&gt;request-&gt;post()) &amp;&amp; &#036;model-&gt;login()) {


       return &#036;this-&gt;goBack(Yii::&#036;app-&gt;user-&gt;returnUrl=array(&quot;/directores/index&quot;));


    } else {


        return &#036;this-&gt;render('login', [


            'model' =&gt; &#036;model,


        ]);


    }


}

del goBack y redirect no paso talves no uso el codigo bien "como soy nuevo me pasa esto"

ahora quiero alimentar el yii con muchos usuarios y formularios distintos para el momento de logear me envie al formulario que le corresponde al usuario. claro por medidas de seguridad todos los usuarios no pueden llenar el mismo formulario por eso deseo usar el login. ahora bien…con el User coloque el siguiente codigo tambien

class User extends \yii\base\Object implements \yii\web\IdentityInterface

{

public &#036;id;


public &#036;username;


public &#036;password;


public &#036;authKey;


public &#036;accessToken;


private static &#036;users = [


    '100' =&gt; [


        'id' =&gt; '100',


        'username' =&gt; 'admin',


        'password' =&gt; '1234',


        'authKey' =&gt; 'test100key',


        'accessToken' =&gt; '100-token',


       'url' =&gt; '-&gt;returnUrl=array(&quot;/directores/index&quot;)',


    ],


    '101' =&gt; [


        'id' =&gt; '101',


        'username' =&gt; 'user',


        'password' =&gt; '12345',


        'authKey' =&gt; 'test101key',


        'accessToken' =&gt; '101-token',


        'url' =&gt; '-&gt;returnUrl=array(&quot;/compromisos/index&quot;)',


    ],


];

y nada todavia… tengo horas en esto… no se me ocurre mas nada… estoy buscando la manera de que SiteController dentro de su codigo en goBack que anteriormente mostre se me relacione con el codigo de User done anexe url para que me envie a esa direccion que se encuentra con ese usuario para asi cunado se loge cada usuario se envie a la direccion que le almanece distinta a cada uno. "son 30 usuarios de debo crear" es para mis pasantias si no no me graduo…