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
php上传、管理照片示例
Oct 09 PHP
GBK的页面输出JSON格式的php函数
Feb 16 PHP
php ob_flush,flush在ie中缓冲无效的解决方法
May 09 PHP
php自动给文章加关键词链接的函数代码
Nov 29 PHP
有关于PHP中常见数据类型的汇总分享
Jan 06 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 PHP
windows中为php安装mongodb与memcache
Jan 06 PHP
php生成二维码图片方法汇总
Dec 17 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
May 19 PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 PHP
php中isset与empty函数的困惑与用法分析
Jul 05 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,ajax实现分页
2008/03/27 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
ThinkPHP CURD方法之limit方法详解
2014/06/18 PHP
PHP类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
php框架CodeIgniter使用redis的方法分析
2018/04/13 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
php命令行模式代码实例详解
2021/02/26 PHP
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
javascript 写类方式之十
2009/07/05 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
2019/08/08 Javascript
[01:00:06]加油DOTA_EP01_网络版
2014/08/09 DOTA
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
python操作excel的方法
2018/08/16 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
打架检讨书300字
2014/02/02 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
环境建设实施方案
2014/03/14 职场文书
幼儿园家长评语大全
2014/04/16 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
党日活动总结
2014/05/07 职场文书
大学生志愿者活动总结
2014/06/27 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
2015年人力资源工作总结
2015/04/08 职场文书
2015年出纳年终工作总结
2015/05/14 职场文书
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js