YII用户注冊和用户登录(五)之进行session和cookie分析 ,并在前后区分session和cookie
2024-09-03 15:24:15
5 进行session和cookie分析 ,并在前后区分session和cookie;
记住登录状态
这样下次再登录站点的时候。就不用反复输入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>
改动模型:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnV5aW5nZmVpODg4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
控制器部分:用户登录
/**
*用户登录
*/
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
參数如何来的?
这样:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnV5aW5nZmVpODg4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
最新文章
- ASP.NET MVC Routing学习笔记(一)
- 使用MDK3探测隐藏SSID名称
- Timer定时器
- DJANGO变动库的一次真实手动经历
- Fast portable non-blocking network programming with Libevent--转
- C#.net调用axis2webService
- JS escape()、encodeURI()和encodeURIComponent()的区别
- Objective-c开发教程--MRC和ARC混编
- 困扰你的private static final long serialVersionUID
- STM32F412应用开发笔记之八:迪文串口屏显示驱动
- centos6.5安装配置supervisor
- 全球移动互联网大会gmic 2017为什么值得参加?
- nyoj_5:Binary String Matching
- flask 部署后并发测试
- 数组的复制及ES6数组的扩展
- CAD.NET二次开发 新建图层 删除图层 指定图层颜色以及线形等
- MYSQL(三)
- IIS 部署问题 404
- Android动画曲线库AndroidEasingFunctions
- Win10, VS2017环境下OpenCV3.4.2的配置