laravel5.2实现区分前后台用户登录的方法

1.前台登录

直接使用laravel自带的auth

然后可以查看路由文件:

'web'],function () { Route::auth(); Route::get('/home','HomeController@index'); });

执行php artisan migrate

会发现生成了两张表。

2.后台登录

编辑配置文件

config\auth.php

添加guards中的admin和providers中的admins

[ 'guard' => 'web','passwords' => 'users',],'guards' => [ 'web' => [ 'driver' => 'session','provider' => 'users','admin' => [ 'driver' => 'session','provider' => 'admins','api' => [ 'driver' => 'token','providers' => [ 'users' => [ 'driver' => 'eloquent','model' => App\User::class,'admins' => [ 'driver' => 'eloquent','model' => App\Admin::class,'passwords' => [ 'users' => [ 'provider' => 'users','email' => 'auth.emails.password','table' => 'password_resets','expire' => 60,];

3.创建数据模型

执行php artisan make:model Admin --migration

然后修改database\migrations中的数据表结构,复制user表的就可以

执行php artisan migrate 会发现生成了admin表

4.定义后台路由

这里我直接定义了一个路由组

'admin','middleware' => 'admin'],function () { Route::get('login','Admin\AuthController@getLogin'); Route::post('login','Admin\AuthController@postLogin'); Route::get('register','Admin\AuthController@getRegister'); Route::post('register','Admin\AuthController@postRegister'); Route::get('logout','Admin\AuthController@logout'); Route::get('/','Admin\AdminController@index'); });

5.创建控制器

执行

AuthController.php可参照Auth中的AuthController.php

middleware('guest:admin',['except' => 'logout']); } protected function validator(array $data) { return Validator::make($data,[ 'name' => 'required|max:255','email' => 'required|email|max:255|unique:admins','password' => 'required|confirmed|min:6',]); } protected function create(array $data) { return Admin::create([ 'name' => $data['name'],'email' => $data['email'],'password' => bcrypt($data['password']),]); } }

AdminController.php

middleware('auth:admin'); } public function index() { $admin = Auth::guard('admin')->user(); return view('admin.home'); } }

6.创建视图

这里直接复制auth中的视图和home.blade.php到一个新的admin文件夹中。

修改login和register中表单的action,添加上admin前缀

修改layouts中的app.blade.php

@if (Auth::guest('admin'))
  • @else @endif

    现在试一下前后台分别登录吧!

    7.可能遇到的页面跳转问题

    如果你遇到了这种情况可以尝试修改一下Middleware\Authenticate.php

    guest($guard.'/login');

    以上所述是小编给大家介绍的laravel5.2实现区分前后台用户登录的方法,希望对大家有所帮助。程序员遇到问题都会上(编程之家jb51.cc)查找问题解答方法!如果觉得站点还不错,随手转发给程序员朋友一下!

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    相关推荐


    laravel的dd函数不生效怎么办
    看不懂laravel文档咋办
    安装laravel框架出现command怎么办
    Laravel开发API怎么使用事务
    laravel怎么构建复杂查询条件
    laravel如何实现防止被下载
    为什么laravel比yii火
    一些常见的Laravel定时任务不运行的问题
    laravel用路由有什么好处
    composer无法安装laravel怎么办
    laravel现在还用吗
    laravel怎么替换主键id
    laravel的appurl有什么用
    如何修改Laravel的报错输出形式
    laravel怎么避免foreach查表
    laravel怎样操作数据库
    laravel怎么截取字符串
    laravel 是国内的吗
    laravel怎么设置请求头
    浅析Laravel社区Redis组件报错的问题和解决方法