laravel5.2实现区分前后台用户登录的方法
发布:smiling 来源: PHP粉丝网 添加日期:2018-06-19 11:34:01 浏览: 评论:0
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
- return[
- 'defaults'=> [
- '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
- <?php
- namespaceApp\Http\Controllers\Admin;
- useApp\Admin;
- useValidator;
- useApp\Http\Controllers\Controller;
- useIlluminate\Foundation\Auth\ThrottlesLogins;
- useIlluminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
- classAuthControllerextendsController
- {
- useAuthenticatesAndRegistersUsers, ThrottlesLogins;
- protected$redirectTo='/admin'
- protected$guard='admin'
- protected$loginView='admin.login'
- protected$registerView='admin.register'
- publicfunction__construct()
- {
- $this->middleware('guest:admin', ['except'=>'logout']);
- }
- protectedfunctionvalidator(array$data)
- {
- returnValidator::make($data, [
- 'name'=>'required|max:255',
- 'email'=>'required|email|max:255|unique:admins',
- 'password'=>'required|confirmed|min:6',
- ]);
- }
- protectedfunctioncreate(array$data)
- {
- returnAdmin::create([
- 'name'=>$data['name'],
- 'email'=>$data['email'],
- 'password'=> bcrypt($data['password']),
- ]);
- }
- }
- AdminController.php
- <?php
- namespaceApp\Http\Controllers\Admin;
- useIlluminate\Http\Request;
- useApp\Http\Requests;
- useApp\Http\Controllers\Controller;
- useAuth;
- classAdminControllerextendsController
- {
- publicfunction__construct()
- {
- $this->middleware('auth:admin');
- }
- publicfunctionindex()
- {
- $admin= Auth::guard('admin')->user();
- returnview('admin.home');
- }
- }
6.创建视图
这里直接复制auth中的视图和home.blade.php到一个新的admin文件夹中。
修改login和register中表单的action,添加上admin前缀
修改layouts中的app.blade.php
- @if(Auth::guest('admin'))
- Login
- Register
- @else
- {{ Auth::guard('admin')->user()->name }}
- Logout
- @endif
现在试一下前后台分别登录吧!
7.可能遇到的页面跳转问题
如果你遇到了这种情况可以尝试修改一下Middleware\Authenticate.php
returnredirect()->guest($guard.'/login');
Tags: laravel5 2 方法 用户
相关文章
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·php utf-8转换gb2312 字符串被截断解决方法(2013-11-29)
- ·PHP utf-8和gb2312编码转换乱码的问题(2013-12-02)
- ·Fatal error: Allowed memory size of 33554432 bytes exhausted(2013-12-07)
- ·PHP5中使用Web服务访问J2EE应用程序(2013-12-08)
- ·php实现301永久重定向和302临时重定向方法(2014-06-30)
- ·phpmyadmin只能导入2048kb .sql文件解决办法(2014-07-25)
- ·解决PHP程序上传最大2M问题解决方法(2014-09-20)
- ·php中json_encode gbk/gb2312中文乱码问题(2014-09-20)
- ·解决PhpMyAdmin中导入2M以上大文件限制方法(2014-09-21)
- ·解决phpMyAdmin导入数据文件最大限制2MB问题(2015-04-04)
- ·zend studio11.0.2安装破解方法 zend studio11.0.2怎么破解(2018-06-16)
- ·php输出全部gb2312编码内的汉字方法(2018-08-06)
- ·yii2简单使用less代替css示例(2018-08-06)
- ·PHP5.2中PDO的简单使用方法(2019-11-06)
- ·什么是yii2的缓存依赖?如何使用缓存依赖?(2020-01-10)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)