How do i set default login url?
I tried to modify CWebUser
public $loginUrl=array('site/login');
to
public $loginUrl=array('accounts/login');
But seems it didn’t work
Thanks beforehand.
How do i set default login url?
I tried to modify CWebUser
public $loginUrl=array('site/login');
to
public $loginUrl=array('accounts/login');
But seems it didn’t work
Thanks beforehand.
Do it in your main config:
// application components
'components'=>array(
'user'=>array(
'loginUrl'=>array('accounts/login'),
'allowAutoLogin'=>true,
),
Thanks a lot, it works.
Hello,
what if I want to set 2 different login URL, one for public user, and one for admin.
can we do it this way?
Thank you Very much , It solved my problem Also ,
One Another Problem.
If any user have no access to a specified Action , it redirects to some another File .
Can you please show me the method to change no access url.
Thanks anyway
In config write
'behaviors' => array('ApplicationConfigBehavior'),
In protected/components/ApplicationConfigBehavior.php write
class ApplicationConfigBehavior extends CBehavior
{
public function events()
{
return array_merge(parent::events(),array(
'onBeginRequest'=>'beginRequest',
));
}
public function beginRequest()
{
$uri = explode('/', $_SERVER['REQUEST_URI']);
if ($uri[1] == 'admin')
Yii::app()->user->loginUrl = '/admin/login';
}
}
Exploding the REQUEST_URI to fetch the "location" of the controller from the array is a rough hack…
Do it properly, Yii gives us everything we need.
$controller = Yii::app()->controller->id
$action = Yii::app()->controller->action->id
I have them as variables to show how you can grab both the controller and action in use.
You need to create a custom behavior, grab the controller, and do whatever you need with the controller name.
Try this link: larryullman.com/2010/07/20/forcing-login-for-all-pages-in-yii/ (Sorry, I can’t post links but i think its helpful)
You need to customize what he is doing, by using your own code in the handleBeginRequest() function. For example, I used it to override the loginUrl to use different login URL’s depending on what controller they are using.
Good luck.
thanks, helpful for me