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 相关文章推荐
E路文章系统PHP
Dec 11 PHP
PHP编码规范-php coding standard
Mar 16 PHP
PHP操作MongoDB时的整数问题及对策说明
May 02 PHP
php中使用DOM类读取XML文件的实现代码
Dec 14 PHP
浅析php变量作用域的一些问题
Aug 08 PHP
ThinkPHP3.2.3数据库设置新特性
Mar 05 PHP
深入浅析Yii admin的权限控制
Aug 31 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
PHP实现中国公民身份证号码有效性验证示例代码
May 03 PHP
PHP实现基于3DES算法加密解密字符串示例
Aug 24 PHP
php中对象引用和复制实例分析
Aug 14 PHP
PHP 超级全局变量相关总结
Jun 30 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
wordpress之wp-settings.php
2007/08/17 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
php+ajax实现图片文件上传功能实例
2014/06/17 PHP
php防止恶意刷新与刷票的方法
2014/11/21 PHP
php简单生成随机数的方法
2015/07/30 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
js比较日期大小的方法
2015/05/12 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
es6函数中的作用域实例分析
2020/04/18 Javascript
AutoJs实现刷宝短视频的思路详解
2020/05/22 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
Python中生成器和yield语句的用法详解
2015/04/17 Python
Python对象属性自动更新操作示例
2018/06/15 Python
对python PLT中的image和skimage处理图片方法详解
2019/01/10 Python
python Kmeans算法原理深入解析
2019/08/23 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
企业理念标语
2014/06/09 职场文书
科学育儿宣传标语
2014/10/08 职场文书
运输公司工作总结
2015/08/11 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
解决python3安装pandas出错的问题
2021/05/20 Python