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 相关文章推荐
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
Jan 29 PHP
php UTF-8、Unicode和BOM问题
May 18 PHP
PHP字符编码问题之GB2312 VS UTF-8解决方法
Jun 23 PHP
php 保留字列表
Oct 04 PHP
PHP实现获取FLV文件的时间
Feb 10 PHP
php输出xml属性的方法
Mar 19 PHP
php数组函数array_key_exists()小结
Dec 10 PHP
Yii2使用自带的UploadedFile实现的文件上传
Jun 20 PHP
thinkphp自带验证码全面解析
Sep 18 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
redis+php实现微博(三)微博列表功能详解
Sep 23 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 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小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
js 格式化时间日期函数小结
2010/03/20 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
JavaScript多种图形实现代码实例
2020/06/28 Javascript
纯JS开发baguetteBox.js响应式画廊插件
2020/06/28 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
python 实现归并排序算法
2012/06/05 Python
Python中logging模块的用法实例
2014/09/29 Python
python对数组进行反转的方法
2015/05/20 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
python机器学习之神经网络实现
2018/10/13 Python
一百行python代码将图片转成字符画
2021/02/19 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
python向图片里添加文字
2019/11/26 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
开工庆典邀请函范文
2014/01/16 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
一年级数学上册复习计划
2015/01/17 职场文书
2015年全国科普日活动总结
2015/03/23 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
什么是求职信?求职信应包含哪些内容?
2019/08/14 职场文书
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL