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:风雨欲来 路在何方?
Oct 09 PHP
支持oicq头像的留言簿(一)
Oct 09 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 PHP
php 文件上传类代码
Aug 06 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
PHP中isset()和unset()函数的用法小结
Mar 11 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
浅谈PHP的数据库接口和技术
Dec 09 PHP
YII框架批量插入数据的方法
Mar 18 PHP
ThinkPHP实现附件上传功能
Apr 27 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
Sep 09 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实现时间轴函数代码
2011/10/08 PHP
PHP实现异步调用方法研究与分享
2011/10/27 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
CI框架学习笔记(二) -入口文件index.php
2014/10/27 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
javascript数组组合成字符串的脚本
2021/01/06 Javascript
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
详解python中的线程与线程池
2019/05/10 Python
解决Windows下python和pip命令无法使用的问题
2020/08/31 Python
class类在python中获取金融数据的实例方法
2020/12/10 Python
董事长岗位职责
2013/11/30 职场文书
安全大检查反思材料
2014/01/31 职场文书
动员大会主持词
2014/03/20 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
部队个人年终总结
2015/03/02 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
爱国之歌(8首)
2019/09/29 职场文书
python源码剖析之PyObject详解
2021/05/18 Python