您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Laravel 5.5实现前后台登陆

2025/11/26 17:19:24发布21次查看
利用laravel5.5实现了一个功能,本文主要给大家介绍了关于laravel 5.5基于内置的auth模块如何实现前后台登陆的相关资料,文中通过示例代码介绍的非常详细,希望能帮助到大家。
方法如下:
步骤1:生成auth
在项目建立完成后,生成内置auth组件:
php artisan make:auth
步骤2:添加guard
打开config\auth.php,为方便前后台用户切换,项目共用users表
'guards' => [  //...  'admin' => [   'driver' => 'session',   'provider' => 'users',  ],  //...  ],
步骤3:实现基类
class admincontroller extends basecontroller {  use authorizesrequests, dispatchesjobs, validatesrequests;  public function __construct()  {  $this->middleware('auth:admin');  } }
步骤4:实现后台登陆控制器
新建appcontrollersadminlogincontroller.php
<?php namespace app\http\controllers\admin; use app\http\controllers\controller; use illuminate\support\facades\auth; use illuminate\foundation\auth\authenticatesusers; use illuminate\http\request; class logincontroller extends controller { /* |-------------------------------------------------------------------------- | login controller |-------------------------------------------------------------------------- | | this controller handles authenticating users for the application and | redirecting them to your home screen. the controller uses a trait | to conveniently provide its functionality to your applications. | */ use authenticatesusers; /** * where to redirect users after login. * * @var string */ protected $redirectto = '/admin'; /** * create a new controller instance. * * @return void */ public function __construct() { $this->middleware('guest:admin')->except('logout');  }  /**  * 重写登陆页面  * @return \illuminate\contracts\view\factory|\illuminate\view\view  */  public function showloginform()  {  return view('backend.login');  }  /**  * 重写退出方法  * @param request $request  * @return \illuminate\http\redirectresponse|\illuminate\routing\redirector  */  public function logout(request $request)  {  $this->guard()->logout();  $request->session()->flush();  $request->session()->regenerate();  return redirect('/admin/login');  }  /**  * 重写guard认证  * @return mixed  */  protected function guard()  {  return auth::guard('admin');  } }
步骤5:实现登陆后跳转到不同路径
app\middleware\redirectifauthenticated.php
public function handle($request, closure $next, $guard = null) {  if (auth::guard($guard)->check()) {   $path = $guard ? '/admin' : '/home';   return redirect($path);  }  return $next($request); }
步骤6:实现未通过认证跳转不同登陆页
app\exceptions\handler.php
/**  * 重写实现未认证用户跳转至相应登陆页  * @param \illuminate\http\request $request  * @param authenticationexception $exception  * @return \illuminate\http\jsonresponse|\illuminate\http\redirectresponse  */  protected function unauthenticated($request, authenticationexception $exception)  {  if($request->expectsjson()){   return response()->json(['message' => $exception->getmessage()], 401);  }else{   return in_array('admin', $exception->guards()) ? return redirect()->guest('/admin/login') : redirect()->guest('login');  }  }
相关推荐:
javascript如何调用前后台的方法实例汇总
laravel5.5中的package auto discovery详情介绍
laravel5.5新特性之报错以及展示的图文介绍
以上就是laravel 5.5实现前后台登陆的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product