1.前台登录
直接使用laravel自带的auth
PHP;">
PHP artisan make:auth
然后可以查看路由文件:
'web'],function () {
Route::auth();
Route::get('/home','HomeController@index');
});
执行PHP artisan migrate
会发现生成了两张表。
2.后台登录
编辑配置文件
config\auth.PHP
添加guards中的admin和providers中的admins
PHP;">
[
'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.创建控制器
执行
PHP;">
PHP artisan make:controller Admin/AuthController
PHP artisan make:controller Admin/AdminController
AuthController.PHP可参照Auth中的AuthController.PHP
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
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前缀
PHP;">
@endif
7.可能遇到的页面跳转问题
如果你遇到了这种情况可以尝试修改一下Middleware\Authenticate.PHP
guest($guard.'/login');
以上所述是小编给大家介绍的laravel5.2实现区分前后台用户登录的方法,希望对大家有所帮助。程序员遇到问题都会上(编程之家jb51.cc)查找问题解答方法!如果觉得站点还不错,随手转发给程序员朋友一下!
原文链接:https://www.f2er.com/laravel/18125.html