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
<?phpreturn [ '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/AuthControllerphp artisan make:controller Admin/AdminController
AuthController.php可参照Auth中的AuthController.php
<?phpnamespace App/Http/Controllers/Admin;use App/Admin;use Validator;use App/Http/Controllers/Controller;use Illuminate/Foundation/Auth/ThrottlesLogins;use Illuminate/Foundation/Auth/AuthenticatesAndRegistersUsers;class AuthController extends Controller{ use AuthenticatesAndRegistersUsers, ThrottlesLogins; protected $redirectTo = '/admin'; protected $guard = 'admin'; protected $loginView = 'admin.login'; protected $registerView = 'admin.register'; public function __construct() { $this->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']), ]); }}
新闻热点
疑难解答