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遍历二维数组的代码
Apr 22 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
Aug 09 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
php中的路径问题与set_include_path使用介绍
Feb 11 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
利用PHP函数计算中英文字符串长度的方法
Nov 11 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
简单谈谈PHP中的trait
Feb 25 PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 PHP
PHP使用文件锁解决高并发问题示例
Mar 29 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 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
以文本方式上传二进制文件的PHP程序
2006/10/09 PHP
php不用正则采集速度探究总结
2008/03/24 PHP
discuz程序的PHP加密函数原理分析
2011/08/05 PHP
PHP实现带重试功能的curl连接示例
2016/07/28 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
javascript:文字不间断向左移动的实例代码
2013/08/08 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
[02:27]2018DOTA2亚洲邀请赛赛前采访-OpTic
2018/04/03 DOTA
举例介绍Python中的25个隐藏特性
2015/03/30 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
python检索特定内容的文本文件实例
2018/06/05 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
opencv python图像梯度实例详解
2020/02/04 Python
django实现后台显示媒体文件
2020/04/07 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
Django微信小程序后台开发教程的实现
2020/06/03 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
销售经理工作职责
2014/02/03 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
浅谈Python数学建模之整数规划
2021/06/23 Python