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 相关文章推荐
在IIS上安装PHP4.0正式版
Oct 09 PHP
MySQL连接数超过限制的解决方法
Jul 17 PHP
解析phpstorm + xdebug 远程断点调试
Jun 20 PHP
php cookie名使用点号(句号)会被转换
Oct 23 PHP
php实现指定字符串中查找子字符串的方法
Mar 17 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
Mar 23 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
Apr 08 PHP
php数据访问之查询关键字
May 09 PHP
基于php实现的验证码小程序
Dec 13 PHP
php实现等比例压缩图片
Jul 26 PHP
多个Laravel项目如何共用migrations详解
Sep 25 PHP
python进程与线程小结实例分析
Nov 11 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 中执行排序与 MySQL 中排序
2009/04/21 PHP
PHP获取文件后缀名的三个函数
2012/10/15 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
javascript中对对层的控制
2006/12/29 Javascript
JQuery为textarea添加maxlength属性并且兼容IE
2013/04/25 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
vue自定义指令的创建和使用方法实例分析
2018/12/04 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
Openlayers实现地图全屏显示
2020/09/28 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
python matplotlib画图实例代码分享
2017/12/27 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
Python flask框架post接口调用示例
2019/07/03 Python
Python一键安装全部依赖包的方法
2019/08/12 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
Tensorflow分批量读取数据教程
2020/02/07 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
房地产出纳岗位职责
2013/12/01 职场文书
运动会跳远广播稿
2014/02/04 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
仓库管理员岗位职责
2014/03/19 职场文书
物业管理工作方案
2014/05/10 职场文书
博士生导师推荐信
2014/07/08 职场文书
追悼会家属答谢词
2015/09/29 职场文书
公司新员工欢迎词
2015/09/30 职场文书
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js