记住登录状态
这样下次再登录站点的时候。就不用反复输入username和password。
是浏览器的cookie把状态给记住了。
制作表单:
<tr> <td align="right"> <?php echo $form->checkBox($user_login, 'rememberMe'); ?
> </td> <td> <?php echo $form->labelEx($user_login, 'rememberMe'); ?> </td> </tr>
改动模型:控制器部分:用户登录
/** *用户登录 */ function actionLogin(){ //创建登录模型对象 $user_login = new LoginForm; if(isset($_POST['LoginForm'])){ //收集表单信息 $user_login->attributes = $_POST['LoginForm']; //校验数据,走的是rules()方法。不仅仅校验username和password是否填写。还要校验真实性(在模型里边自己定义方法校验真实性) //用户信息进行session存储,调用模型里边的一个方法login()。就能够进行session存储 if($user_login->validate() && $user_login->login()){ $this ->redirect ('./index.php'); } } $this -> render('login',array('user_login'=>$user_login)); }
查看cookie和session信息结果:
主要用户退出:
/* * 用户退出系统 */ function actionLogout(){ //删除session信息 //Yii::app()->session->clear(); //删除内存里边sessiion变量信息 //Yii::app()->session->destroy(); //删除server的session文件 //session和cookie一并删除 不然无法退出 Yii::app()->user->logout(); $this->redirect('/'); }此时会有一个问题。前后台session如何区分,这种:
在后台能够设置session前缀
{ public function init() { //自己定义后台默认控制器 $this -> defaultController = "index"; // this method is called when the module is being created // you may place code here to customize the module or the application // import the module-level models and components $this->setImport(array( 'houtai.models.*', 'houtai.components.*', )); //为后台登录管理员设置session名字前缀信息 Yii::app()->setComponents(array( 'user'=>array( 'stateKeyPrefix' =>'houtai', 'loginUrl'=>'./index.php?
r=houtai/manager/login', ) )); }
图示:
stateKeyPrefix參数如何来的?
这样: