laravel 實(shí)現(xiàn)用戶登錄注銷并限制功能
1. 創(chuàng)建登錄控制器
在項(xiàng)目根目錄輸入: php artisan make:controller Admin/LoginController
2.創(chuàng)建用戶模塊 以及數(shù)據(jù)庫
php artisan make:model Model/Admin -m
運(yùn)行之后 項(xiàng)目中會新增兩個(gè)PHP文件
新創(chuàng)建了admins用戶表,此用戶表默認(rèn)新建中只有主鍵,創(chuàng)建時(shí)間,編輯時(shí)間。我們接下來新加兩個(gè)字段 用戶名(username)
和密碼(password).
在up函數(shù)中加上這兩個(gè)字段,后面可以按自己的需求添加屬性。
laravel默認(rèn)的字符集是utf8mb4,新增的數(shù)據(jù)庫字段會有這個(gè)字符集,想要改成utf8 可以直接修改datebase
接下來運(yùn)行數(shù)據(jù)遷移命令 php artisan migrate 來創(chuàng)建數(shù)據(jù)表
運(yùn)行之后數(shù)據(jù)庫中新增了admins表
3.填充數(shù)據(jù)
因?yàn)檫€沒有做注冊所以我們利用tinker來表中填充數(shù)據(jù),如果已經(jīng)做了注冊功能就不用坐下面的步驟了,也可以直接運(yùn)行sql,直接
填充,保證密碼加密。
首先在配置中添加想要新增的數(shù)據(jù)。在datebase/factories/
define方法里面寫自己的用戶模塊的命名,里面加上默認(rèn)密碼。
之后運(yùn)行php artisan tinker 命令 里面輸入 factory(模塊命名,條數(shù));
運(yùn)行之后數(shù)據(jù)庫中新增了三條數(shù)據(jù),實(shí)例中密碼都是admin。
4.用戶登錄配置
首先在config/auth.php中添加配置,框架默認(rèn)都是走的自帶的User模塊。
加上圖中的兩個(gè)配置,命名按照自己的模塊名字來命名。
修改模塊繼承函數(shù)跟系統(tǒng)的自帶的User.php一樣就可以了。
5.登錄函數(shù)
這里先略過前段頁面的表單的寫法以及表單提交的方式,直接獲取數(shù)據(jù)的函數(shù)來寫。
$statue = Auth::guard('admin')->attempt([ 'username'=>$request->input('username'), 'password'=>$request->input('password'), ]);
以上就是登錄函數(shù),guard函數(shù)中寫入自己在auth.php配置中寫的命名。指定用戶登錄的表。
在前段頁面中獲取的時(shí)候也要指定命名。
6.限制頁面權(quán)限
后臺登陸首頁之前判斷是否登陸,如果沒有登錄則跳轉(zhuǎn)到登錄頁。
首先做一個(gè)中間件,讓每個(gè)頁面控制器運(yùn)行之前先運(yùn)行中間件,我們在中間件中寫一些頁面是否有權(quán)限訪問的動作。
運(yùn)行之后里面填寫驗(yàn)證指定的表用戶是否登陸
之后我們在kernel.php中添加中間件
我們在登錄的控制器中調(diào)用,并指定哪個(gè)函數(shù)不需要限制。
7.注銷
以上這篇laravel 實(shí)現(xiàn)用戶登錄注銷并限制功能就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 教你一步步實(shí)現(xiàn)Android微信自動搶紅包
- java模擬微信搶紅包的實(shí)例代碼
- IOS 實(shí)現(xiàn)微信自動搶紅包(非越獄IPhone)
- 詳解利用redis + lua解決搶紅包高并發(fā)的問題
- js仿微信搶紅包功能
- laravel框架實(shí)現(xiàn)后臺登錄、退出功能示例
- Laravel框架實(shí)現(xiàn)即點(diǎn)即改功能的方法分析
- 利用laravel+ajax實(shí)現(xiàn)文件上傳功能方法示例
- laravel框架關(guān)于搜索功能的實(shí)現(xiàn)
- Laravel框架實(shí)現(xiàn)利用中間件進(jìn)行操作日志記錄功能
- Laravel框架實(shí)現(xiàn)搶紅包功能示例
相關(guān)文章
PHP date()格式MySQL中插入datetime方法
在本篇文章里小編給大家分享了關(guān)于PHP date()格式MySQL中插入datetime方法,有需要的朋友們學(xué)習(xí)下。2019-01-01PHP+Redis事務(wù)解決高并發(fā)下商品超賣問題(推薦)
這篇文章主要介紹了PHP+Redis事務(wù)解決高并發(fā)下商品超賣問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08windows中為php安裝mongodb與memcache
這篇文章主要介紹了windows中為php安裝mongodb與memcache的方法,十分的詳盡,需要的朋友可以參考下2015-01-01詳解PHP使用日期時(shí)間處理器Carbon人性化顯示時(shí)間
本篇文章主要介紹了詳解PHP使用日期時(shí)間處理器Carbon人性化顯示時(shí)間,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08