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 相关文章推荐
vs中通过剪切板循环来循环粘贴不同内容
Apr 30 PHP
php配置php-fpm启动参数及配置详解
Nov 04 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 PHP
CI框架中通过hook的方式实现简单的权限控制
Jan 07 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
php线性表的入栈与出栈实例分析
Jun 12 PHP
十大使用PHP框架的理由
Sep 26 PHP
PHP正则获取页面所有图片地址
Mar 23 PHP
php版交通银行网银支付接口开发入门教程
Sep 26 PHP
PHP实现一个多功能购物网站的案例
Sep 13 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
Dec 20 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
PHP中SESSION过期设置
2021/03/09 PHP
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
2011/10/31 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
2016/06/17 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
微信小程序之网络请求简单封装实例详解
2017/06/28 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
利用Python的Twisted框架实现webshell密码扫描器的教程
2015/04/16 Python
详解Python中的条件判断语句
2015/05/14 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
2016/04/09 Python
Python实现随机选择元素功能
2017/09/14 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
高中生学习总结的自我评价范文
2013/10/13 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
学雷锋标语
2014/06/25 职场文书
2014年大学团支部工作总结
2014/12/02 职场文书
初三语文教学反思
2016/03/03 职场文书
Python if else条件语句形式详解
2022/03/24 Python