laravel5.2实现区分前后台用户登录的方法
1.前台登录直接使用laravel自带的auth 然后可以查看路由文件: 'web'],function () { Route::auth(); 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','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.定义后台路由这里我直接定义了一个路由组 '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.创建控制器执行 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 @else现在试一下前后台分别登录吧! 7.可能遇到的页面跳转问题如果你遇到了这种情况可以尝试修改一下MiddlewareAuthenticate.php guest($guard.'/login');以上所述是小编给大家介绍的laravel5.2实现区分前后台用户登录的方法,希望对大家有所帮助。程序员遇到问题都会上(脚本之家jb51.cc)查找问题解答方法!如果觉得站点还不错,随手转发给程序员朋友一下! (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |