您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關laravel怎么實現用戶登錄注銷并限制功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1. 創建登錄控制器
在項目根目錄輸入: php artisan make:controller Admin/LoginController
2.創建用戶模塊 以及數據庫
php artisan make:model Model/Admin -m
運行之后 項目中會新增兩個PHP文件
新創建了admins用戶表,此用戶表默認新建中只有主鍵,創建時間,編輯時間。我們接下來新加兩個字段 用戶名(username)
和密碼(password).
在up函數中加上這兩個字段,后面可以按自己的需求添加屬性。
laravel默認的字符集是utf8mb4,新增的數據庫字段會有這個字符集,想要改成utf8 可以直接修改datebase
接下來運行數據遷移命令 php artisan migrate 來創建數據表
運行之后數據庫中新增了admins表
3.填充數據
因為還沒有做注冊所以我們利用tinker來表中填充數據,如果已經做了注冊功能就不用坐下面的步驟了,也可以直接運行sql,直接
填充,保證密碼加密。
首先在配置中添加想要新增的數據。在datebase/factories/
define方法里面寫自己的用戶模塊的命名,里面加上默認密碼。
之后運行php artisan tinker 命令 里面輸入 factory(模塊命名,條數);
運行之后數據庫中新增了三條數據,實例中密碼都是admin。
4.用戶登錄配置
首先在config/auth.php中添加配置,框架默認都是走的自帶的User模塊。
加上圖中的兩個配置,命名按照自己的模塊名字來命名。
修改模塊繼承函數跟系統的自帶的User.php一樣就可以了。
5.登錄函數
這里先略過前段頁面的表單的寫法以及表單提交的方式,直接獲取數據的函數來寫。
$statue = Auth::guard('admin')->attempt([ 'username'=>$request->input('username'), 'password'=>$request->input('password'), ]);
以上就是登錄函數,guard函數中寫入自己在auth.php配置中寫的命名。指定用戶登錄的表。
在前段頁面中獲取的時候也要指定命名。
6.限制頁面權限
后臺登陸首頁之前判斷是否登陸,如果沒有登錄則跳轉到登錄頁。
首先做一個中間件,讓每個頁面控制器運行之前先運行中間件,我們在中間件中寫一些頁面是否有權限訪問的動作。
運行之后里面填寫驗證指定的表用戶是否登陸
之后我們在kernel.php中添加中間件
我們在登錄的控制器中調用,并指定哪個函數不需要限制。
7.注銷
Laravel 是一套簡潔、優雅的PHP Web開發框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。
關于“laravel怎么實現用戶登錄注銷并限制功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。