最近在学习Laravel,很多开箱即用的功能比较方便。自带的Auth用户认证就属于其中一种。网站用户和管理后台用户在逻辑上必须得分开,这里记录一下管理后台中用户认证的方法。
1、新建项目,修改相关配置,比如.env
,config/
下的文件等
2、修改database/migrations/
下的文件,添加所需要的user表,如admin_users表。 结构与自带的user相同
3、php artisan migrate
新建表
4、php artisan make:auth
新建相关视图和控制器
5、将上一步建立的相关文件复制一份放入各自的自定义目录,比如admin下面,同时记得修改namespace, 大概有Controllers/Auth
,resources/views/auth
,User.php
等
6、修改config/auth.php
, 添加所需要的guards和provider, 如下
1 | 'guards' => [ |
7、将Middleware/Authenticate.php
复制一份重命名,可以使用上一步中自定义的guard来进行校验啦
8、在Kernel.php里$routeMiddleware注册我们自定义的中间件。
9、制定路由功能,可使用Route::group
来限定, 如下:
1 | //指定namespace为Admin 前缀为/admin 中间件为上一步自定义的authAdmin |
10、修改Controllers/admin/auth/
下的控制器,把他们的路径和视图改成想要的。
11、框框基本搭好,后面主要工作在于编写自定义的中间件,比如根据路由URL实现权限控制等。