是否可以在Yii中使用2个登录URL。
即如果发生sessiontimeout,则应将用户重定向到site / login。
但是当未经身份验证的用户尝试访问该网址时,他应该被重定向到site / loginaccount
有可能吗?
这是配置文件中用于会话超时和初始化登录URL的代码
'components'=>array(
'user' => array(
'class' => 'WebUser',
'loginUrl' => array('site/loginaccount'),
'allowAutoLogin' => true,
),
'session' => array(
'class'=>'CDbHttpSession',
'timeout'=>$params['session_timeout'],
'autoStart'=>true,
),
这是我的控制器中的代码,如果用户是Guest
,它会重定向到site / loginaccount return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('Createdeal'),
'users'=>array('*')
),
答案 0 :(得分:0)
执行此操作的一种愚蠢的方法是在您的视图(或模板)中放置类似的内容:
<head>
<?php if (!Yii::app()->user->isGuest) {?>
<meta http-equiv="refresh" content="<?php echo Yii::app()->params['session_timeout'];?>;url=http://example.com"/>
<?php }?>
</head>
显然,可以使用createUrl()
生成网址。你可以通过javascript做类似的事情。
显然,所有关于使用meta referh和javascript重定向的通常免责声明都适用。 。 。 。