laravel实现Auth认证,登录、注册后的页面回跳方法


Posted in PHP onSeptember 30, 2019

laravel自带的 auth 认证中间件 - app/Http/Middleware/Authenticate.php

查看源码:

if (Auth::guard($guard)->guest()) {
  if ($request->ajax() || $request->wantsJson()) {
   return response('Unauthorized.', 401);
  } else {
   return redirect()->guest($guard.'/login');
  }
 }

里面,对于检测到用户未登录,重定向到登录页面,使用了 'redirect()->guest()' 的方法!

可查看guest()源码:

public function guest($path, $status = 302, $headers = [], $secure = null)
 {
  $this->session->put('url.intended', $this->generator->full()); // 设置回跳地址
 
  return $this->to($path, $status, $headers, $secure);
 }

做了2件事:

1.给session中,设置了当前访问的url链接!(用于我们登录成功后,回跳回来!)

2.跳转到,我们指定的登录页面

接着,自带的auth机制中,看看它的登录成功后的操作:

protected function handleUserWasAuthenticated(Request $request, $throttles)
 {
  if ($throttles) {
   $this->clearLoginAttempts($request);
  }
 
  if (method_exists($this, 'authenticated')) {
   return $this->authenticated($request, Auth::guard($this->getGuard())->user());
  }
 
  return redirect()->intended($this->redirectPath()); // 获取回跳地址
 }

获取到之前的 '回跳地址',跳转!

这里,我想说明的一点是:

我们有时间觉得laravel很不好用,主要是我们对它内部的东西,并不熟悉。就拿今天说的这个auth认证。不用laravel默认的登录注册可以,但仍需要借助它的Auth系列方法!因为很方便。包括这些 redirect() 的方法等。

今天记录下,这个问题,怕过段时间又忘记了。登录、注册,借助redirect()的 guest() 和 intended(),免去了我们自己借助session或cookie,来记录页面的回跳地址,人家已经集成了,还很优美,为什么不用!

以上这篇laravel实现Auth认证,登录、注册后的页面回跳方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP_Flame(Version:Progress)的原代码
Oct 09 PHP
收集的二十一个实用便利的PHP函数代码
Apr 22 PHP
PHP新手用的Insert和Update语句构造类
Mar 31 PHP
php修改NetBeans默认字体的大小
Jul 02 PHP
PHP通过串口实现发送短信
Jul 08 PHP
win7安装php框架Yii的方法
Jan 25 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
Dec 15 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 PHP
PHP中in_array的隐式转换的解决方法
Mar 06 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
Aug 07 PHP
实例说明js脚本语言和php脚本语言的区别
Apr 04 PHP
PHP变量的作用范围实例讲解
Dec 22 PHP
Laravel框架表单验证操作实例分析
Sep 30 #PHP
Laravel 自带的Auth验证登录方法
Sep 30 #PHP
laravel 使用auth编写登录的方法
Sep 30 #PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
Sep 30 #PHP
php面试实现反射注入的详细方法
Sep 30 #PHP
laravel5表单唯一验证的实例代码
Sep 30 #PHP
Laravel模糊查询区分大小写的实例
Sep 29 #PHP
You might like
ThinkPHP页面跳转success与error方法概述
2014/06/25 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
javascript document.compatMode兼容性
2010/02/23 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
RequireJS 依赖关系的实例(推荐)
2017/01/21 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
使用jQuery动态设置单选框的选中效果
2018/12/06 jQuery
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
python将人民币转换大写的脚本代码
2013/02/10 Python
Python入门篇之文件
2014/10/20 Python
Python lambda和Python def区别分析
2014/11/30 Python
Python中的异常处理学习笔记
2015/01/28 Python
python将.ppm格式图片转换成.jpg格式文件的方法
2018/10/27 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
html5 postMessage前端跨域并前端监听的方法示例
2018/11/01 HTML / CSS
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
自荐信的五个重要部分
2013/10/29 职场文书
迎新晚会主持词
2014/03/24 职场文书
民政局副局长民主生活会个人对照检查材料
2014/09/19 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
泰山导游词
2015/02/02 职场文书