使用laravel框架怎么实现一个后台登录功能
生活随笔
收集整理的這篇文章主要介紹了
使用laravel框架怎么实现一个后台登录功能
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今天就跟大家聊聊有關(guān)使用laravel框架怎么實(shí)現(xiàn)一個(gè)后臺(tái)登錄功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
//登錄
publicfunctionlogins(){
//post方式則為登錄操作
if(Request()->isMethod('post')){
$info=Request()->only('username','pwd');//過濾表單提交數(shù)據(jù),接受用戶名,密碼
$result=Admin::admin_login($info);//此處為調(diào)用模型,進(jìn)行驗(yàn)證
//根據(jù)模型返回的結(jié)果,進(jìn)行判斷登錄狀態(tài)
if($result['status']==200){
returnredirect('index')->with('id',Session::get('userinfo')['uid']);
}elseif($result['status']==205){
returnredirect('login')->with('msg',$result['message']);
}elseif($result['status']==203){
returnredirect('login')->with('msg',$result['message']);
}else{
returnredirect('login');
}
}elseif(Request()->isMethod('get')){//如果請(qǐng)求方式為get方式,說明為登錄頁面
returnview('CloudAdmin/login');
}
}
接下來,我們看模型的一些操作
//登錄操作判斷
publicstaticfunctionadmin_login($info){
if(empty($info['username'])){
$result['status']=205;
$result['message']="請(qǐng)輸入用戶名";
}else{
if(empty($info['pwd'])){
$result['status']=205;
$result['message']='請(qǐng)輸入密碼';
}else{
$user=DB::table('sc_admin')->where('username',$info['username'])->first();
if(!$user){
$result['status']=202;
$result['message']="用戶不存在";
}else{
if(md5($info['pwd'])!=$user->password){
$result['status']=203;
$result['message']="密碼錯(cuò)誤";
}else{
$userinfo=array('uid'=>$user->id,'username'=>$user->username);
Session::put('userinfo',$userinfo);//登錄成功,存儲(chǔ)當(dāng)前登錄用戶的id和用戶名
//$time--將最后登錄時(shí)間以及登錄狀態(tài)進(jìn)行更新
$time=array('last_login'=>date('Y-m-dH:i:s'),'login_status'=>1);
DB::table('sc_admin')->where('id',$user->id)->update($time);
//保存服務(wù)器信息
$web=array(
'IP'=>$_SERVER['REMOTE_ADDR'],
'login_time'=>date('Y-m-dH:i:s',$_SERVER['REQUEST_TIME']),
'webserver'=>$_SERVER['SERVER_SOFTWARE'],
'admin'=>Session::get('userinfo')['username']
);
//將服務(wù)器信息入庫
DB::table('sc_webinfo')->insert($web);
$result['status']=200;
$result['message']="登錄成功";
}
}
}
}
return$result;
}
登錄成功之后,一切都是基于session存在的情況下操作的,如果session信息不存在,則會(huì)返回登錄界面;
再來看看退出操作:當(dāng)前點(diǎn)擊"退出"之后,我們應(yīng)該執(zhí)行那些操作?
//退出登錄,清除session,返回登錄頁面
publicfunctionlogin_out(){
//點(diǎn)擊退出,將此用戶的登錄狀態(tài)改變?yōu)槲吹卿?$array=array('login_status'=>0);
DB::table('sc_admin')->where('id',Session::get('userinfo')['uid'])->update($array);
//刪除session信息
Session::forget('userinfo');
returnredirect('login');
}
總結(jié)
以上是生活随笔為你收集整理的使用laravel框架怎么实现一个后台登录功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【linux】【tcpdump】linu
- 下一篇: MacX MediaTrans for