laravel5.2实现区分前后台用户登录的方法_php实例_脚本之家

1.前台登录

直接使用laravel自带的auth

php artisan make:auth

然后可以查看路由文件:

Route::group(['middleware' => 'web'], function ; Route::get('/home', 'HomeController@index');});

执行php artisan migrate

2.后台登录

configauth.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' => AppUser::class, ], 'admins' => [ 'driver' => 'eloquent', 'model' => AppAdmin::class, ], ], 'passwords' => [ 'users' => [ 'provider' => 'users', 'email' => 'auth.emails.password', 'table' => 'password_resets', 'expire' => 60, ], ],];

3.创建数据模型

执行php artisan make:model Admin –migration

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

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

4.定义后台路由

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

Route::group(['prefix' => 'admin' ,'middleware' => 'admin'], function () { Route::get('login', 'AdminAuthController@getLogin'); Route::post('login', 'AdminAuthController@postLogin'); Route::get('register', 'AdminAuthController@getRegister'); Route::post('register', 'AdminAuthController@postRegister'); Route::get('logout', 'AdminAuthController@logout'); Route::get('/', 'AdminAdminController@index');});

5.创建控制器

php artisan make:controller Admin/AuthControllerphp artisan make:controller Admin/AdminController

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

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

AdminController.php

middleware; } public function index() { $admin = Auth::guard; return view; }}

6.创建视图

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

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

修改layouts中的app.blade.php

  • Login
  • Register
  • {{ Auth::guard->name }}
    • Logout

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

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

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

return redirect()->guest;

以上所述是小编给大家介绍的laravel5.2实现区分前后台用户登录的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

发表评论

电子邮件地址不会被公开。 必填项已用*标注