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中看实例学正则表达式
Dec 25 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
Aug 01 PHP
php读取mssql的ntext字段返回值为空的解决方法
Dec 30 PHP
ThinkPHP安装和设置
Jul 27 PHP
php多线程实现方法及用法实例详解
Oct 26 PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 PHP
PHP实现简易blog的制作
Oct 24 PHP
PHP命名空间namespace的定义方法详解
Mar 29 PHP
利用PHP判断是否是连乘数字串的方法示例
Jul 03 PHP
使用PHP+MySql实现微信投票功能实例代码
Sep 29 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 PHP
使用Zookeeper分布式部署PHP应用程序
Mar 15 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实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
微信支付的开发流程详解
2016/09/13 PHP
mac下多个php版本快速切换的方法
2016/10/09 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
BOOM vs RR BO5 第三场 2.14
2021/03/10 DOTA
自动检查并替换文本框内的字符
2006/06/30 Javascript
漂亮的widgets,支持换肤和后期开发新皮肤
2007/04/23 Javascript
jQuery 常见学习网站与参考书
2009/11/09 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
JavaScript函数详解
2014/11/17 Javascript
javascript获取网页宽高方法汇总
2015/07/19 Javascript
13个PHP函数超实用
2015/10/21 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
js实现3D旋转效果
2020/08/18 Javascript
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
Django中实现点击图片链接强制直接下载的方法
2015/05/14 Python
用Eclipse写python程序
2018/02/10 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
会计与出纳自荐书范文
2014/03/16 职场文书
低碳环保标语
2014/06/12 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
车辆挂靠协议书
2016/03/23 职场文书