yii 登陆问题 [ 未指定版本 ]
function actionLogin(){
//创建登录模型对象
$user_login = new LoginForm;
if(isset($_POST['LoginForm'])){
//收集表单信息
$user_login->attributes = $_POST['LoginForm'];
//校验数据,走的是rules()方法
//该地方不只校验用户名和密码是否填写,还要校验真实性(在模型里边自定义方法校验真实性)
//用户信息进行session存储,调用模型里边的一个方法login(),就可以进行session存储
if($user_login->validate() && $user_login->login())
$this ->redirect ('./index.php');
}
$this ->render('login',array('user_login'=>$user_login));
}
++++++++++++++++++++++++++++++++
$user_login->validate() && $user_login->login()这里的这两个方法有什么区别
public function login()
{
if($this->_identity===null)
{
$this->_identity=new UserIdentity($this->username,$this->password);
$this->_identity->authenticate();
}
if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
{
//$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
Yii::app()->user->login($this->_identity,$duration);
return true;
}
else
return false;
}$user_login->validate() && $user_login->login()
这里的这两个方法有什么区别
共 3 个回答
-
-
icultivator 回答于 2013-11-14 12:32 举报validate用于<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">验证用户名和密码是否匹配;</span> <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">login是验证完成后将用户信息存入session以完成登录。</span> <span style="font-family:Arial, Helvetica, sans-serif;">敝陋之见,望参考!</span> -
yunyulian77
注册时间:2013-11-12
最后登录:2015-03-02
在线时长:14小时42分
最后登录:2015-03-02
在线时长:14小时42分
- 粉丝0
- 金钱15
- 威望0
- 积分155