redirect dopo login

Salve ragazzi oggi vi sto tartassando scusate, ho un nuovo problema

Il problema è questo io sono su una view es clienti/view?id=1 , clicco su update e giustamente mi manda al pagina del login, fin qui tutto bene , il problema sta nel fatto che dopo aver effettuato il login mi indirizza a /clienti e non capisco dove fa il redirect (sto utilizzando userGroup).

nel mio caso (non uso usergroup) a fare il lavoro è il controller AccessController, che in caso di login corretto fa un redirect sulla pagina che voglio io.

Nel tuo caso potresti mettere nel form di login un hidden field con la pagina che ha richiamato il login e poi fai redirect esattamente li.

Anche nel tuo caso a occuparsi del login sarà un controller, Trovalo, Studialo, Cambialo!

Così a naso, io cercherei “$this->redirect” all’interno di userGrou.

Ho trovato il controller che effettua il redirect (userGroup/controller/userController) ma ora il problema sta nel attribuire al tasto login un evento perchè viene creato da zii.widget.CMenu ovvero:


$this->widget('zii.widgets.CMenu',array(

			'items'=>array(

				array('label'=>'Home', 'url'=>array('/site/index')),

				array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),

				array('label'=>'Contact', 'url'=>array('/site/contact')),

				array('label'=>'Login','url'=>array('/userGroups'), 'visible'=>Yii::app()->user->isGuest),

				array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)

			),

		));

avevo pensato di intercettarlo con una funzione jquery voi cosa ne pensate?

Piuttosto che intercettare con jquery potresti chiedere a $_SERVER da che pagina arriva la richiesta di login, in questo modo il redirect che UsergGroups fa lo rimandi alla pagina corretta

grazie emafer mi sembra una buona soluzione ma non riesco a recuperare (non so come fare) da dove arriva la richista mi faresti un’esempio?

Tu hai installato un modulo, Usergroups, che ha all’interno dei models e dei controller.

Quello che l’azione login che effettua il redirect, come ti ha detto sensorario è proprio il controller UserGroup (alla riga 446).

Ora: il controller collabora col model e con le view, quindi devi studiarti le view, se serve fai un po di prove.

Quando hai capito come funziona il tutto aggiungi al form un campo return_url, ad esempio e hai quasi tutto quello che ti serve ;)

allora emafer ecco come ho fatto nella view:


$this->widget('zii.widgets.CMenu',array(

			'items'=>array(

				array('label'=>'Login',Yii::app()->session['var'] = Yii::app()->getRequest()->requestUri,'url'=>array('/userGroups'), 'visible'=>Yii::app()->user->isGuest),

				array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)

			),

		)); ?>

ma continua a ritornarmi la pagina userGroup e non quella da dove effettuo la rischiesta :(

ok risolto, sbagliamo view dove settare la variabile , grazie mille

:)