利用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
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:实现登陆后跳转到不同路径
主要更新介绍: 完美整合Discuz!论坛,实现一站式登陆、退出、注册; 同步所有会员资料; 新增购物车功能,商品购买更加方便、快捷; 新增部分快捷菜单,网站访问更加方便; 限制首页商品、店铺标题显示长度; 修正会员后台管理不能更改密码的错误; 完善商品显示页面所有功能链接; 修正后台标签管理部分错误; 修正前台学校列表不按后台顺序显示的错误; 修正搜索功能中学校名称过长导致显示紊乱的现象; 修正
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');
}
}相关推荐:









