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 相关文章推荐
Ajax+PHP 边学边练之四 表单
Nov 27 PHP
PHP $_FILES函数详解
Mar 09 PHP
简单的php文件上传(实例)
Oct 27 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
Jun 26 PHP
php实现的发送带附件邮件类实例
Sep 22 PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 PHP
php 5.6版本中编写一个PHP扩展的简单示例
Jan 20 PHP
php实现用已经过去多长时间的方式显示时间
Jun 05 PHP
PHP实现QQ空间自动回复说说的方法
Dec 02 PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 15 PHP
php在linux环境中如何使用redis详解
Dec 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 无极分类(递归)实现代码
2010/01/05 PHP
php调用google接口生成二维码示例
2014/04/28 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
jquery验证手机号码、邮箱格式是否正确示例代码
2013/07/28 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
domReady的实现案例
2016/11/23 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
2018/04/22 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
Vue中引入svg图标的两种方式
2021/01/14 Vue.js
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
pygame学习笔记(4):声音控制
2015/04/15 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
Python 如何提高元组的可读性
2019/08/26 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
详解CSS3弹性伸缩盒
2020/09/21 HTML / CSS
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
简短的公司员工自我评价分享
2013/11/13 职场文书
社区中秋节活动方案
2014/01/29 职场文书
职称评定自我鉴定
2014/03/18 职场文书
助理政工师申报材料
2014/06/03 职场文书
面试自我评价范文
2014/09/17 职场文书
集团财务总监岗位职责
2015/04/03 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript