找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1696|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 05:28:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            1.前台登录
直接使用laravel自带的auth
php artisan make:auth
然后可以查看路由文件:
Route::group(['middleware' => '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',
   'provider' => 'users',
  ],
],
'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.定义后台路由
这里我直接定义了一个路由组
Route::group(['prefix' => '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.创建控制器
执行
php artisan make:controller Admin/AuthController
php artisan make:controller Admin/AdminController
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'))
      
  • [url={{ url('/login') }}]Login[/url]
          
  • [url={{ url('/register') }}]Register[/url]
         @else
          
          
            {{ Auth::guard('admin')->user()->name }}
          

          
            
  • [url={{ url('/admin/logout') }}]Logout[/url]
          

          
         @endif
       

    现在试一下前后台分别登录吧!
    7.可能遇到的页面跳转问题
    如果你遇到了这种情况可以尝试修改一下Middleware\Authenticate.php
    return redirect()->guest($guard.'/login');
    以上所述是小编给大家介绍的laravel5.2实现区分前后台用户登录的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
                
                
    您可能感兴趣的文章:
  • Laravel框架表单验证详解
  • Laravel实现用户注册和登录
  • Laravel 5框架学习之表单验证
  • 在Laravel框架里实现发送邮件实例(邮箱验证)
  • Laravel框架实现发送短信验证功能代码
  • Laravel中使用FormRequest进行表单验证方法及问题汇总
  • Laravel重写用户登录简单示例
  • 详解用vue.js和laravel实现微信授权登陆
  • Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
  • 基于Laravel5.4实现多字段登录功能方法示例
  • Laravel框架用户登陆身份验证实现方法详解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端