laravel实现Auth认证,登录、注册后的页面回跳方法

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认证,登录、注册后的页面回跳方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Laravel实现用户注册和登录

    Laravel身为最优雅的PHP框架,很多学习PHP的小伙伴造就对Laravel垂涎欲滴.今天就来实现你的愿望,让我们一起从零开始,利用Laravel实现Web应用最常见的注册和登录功能!所有的课程源码已放在Github上:laravel-start. Race Start ! 首先我们来明确一下我们这个课程需要的东西: Laravel 4.2 Bootstrap 3.3 Laravel就是我们关心的核心部分,Bootstrap用来快速设置一些前端的CSS样式. 1.安装Laravel 简单说明

  • Laravel5.5 实现后台管理登录的方法(自定义用户表登录)

    最近群里很多人文档,laravel如何做会员和管理两个身份登录,今天把教程分享一下 自定义用户表登录 认证是由 guards 和 providers 两部分构成的, defaults 配置是默认选择一个 guard 认证驱动,所以我们在这两个配置项中分别添加一个 admin 和 admins 选项. <?php 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'admin' =

  • Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法

    Laravel中,如果用户已经登陆,那么若其再打开登陆页面,那么会默认自动跳转至/home路径. 要更改这个默认设置,请打开app/Http/Middleware/RedirectIfAuthenticated.php: <?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; class RedirectIfAuthenticated { /** * Handle an inco

  • laravel实现Auth认证,登录、注册后的页面回跳方法

    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');

  • laravel 使用auth编写登录的方法

    http://laravelacademy.org/post/8270.html 官网文档 一 . 首先在config=>auth.php 中配置 二 .如果auth使用在model中 需要继承 User 三.model 中自行对数据进行判断 然后存储在 Auth::gurd('supplier') 中 四.中间件对需要登录才能访问的页面 进行判断和拦截 五.登出(logout清楚数据 并退回登录页面) 六.数据拿取 Auth::guard('supplier')->user() //获取一个

  • Android实现登录注册页面(下)

    前面我们已经完成了登录注册页面的布局,下面我们实现验证登录和记住密码的功能. 我们这里还没用到数据库,所以我们的验证的账号密码,是写死的. 首先进入登录页面,可以从这里跳转到注册页面,注册成功后,账号密码的输入框会自动获取刚刚注册的账号密码,无需再次输入.登录成功后,页面跳转到首页,首页获取并显示刚刚注册的账号,点击首页的退出登录,则返回到登录页面. 接下来,先写首页activity_main.xml页面的内容: <?xml version="1.0" encoding=&quo

  • Laravel框架Auth用户认证操作实例分析

    本文实例讲述了Laravel框架Auth用户认证操作.分享给大家供大家参考,具体如下: (1)生成Auth所需文件 打开phpstorm的命令行: php artisan make:auth 生成成功后,打开web.php, 发现多了如下代码: Auth::routes(); Route::get('/home', 'HomeController@index')->name('home'); 然后访问 localhost/laravel/public/home就可以看到登录页面, 如果样式不正常

  • Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析

    本文实例讲述了Laravel 框架基于自带的用户系统实现登录注册及错误处理功能.分享给大家供大家参考,具体如下: 一.默认 Laravel 不会自动帮你装上用户系统, 二.但是我们可以从默认首页的代码中看到,登录注册按钮被隐藏了 三.需要手动输入命令进行安装 php artisan make:auth 安装完成后重新刷新页面就可以到登录注册按钮了 四.可能遇到的问题 1. 当在注册页面点击注册时,一般会报如下错误,如果你没动过任何配置的话, SQLSTATE[HY000] [1045] Acce

  • Laravel框架实现修改登录和注册接口数据返回格式的方法

    本文实例讲述了Laravel框架实现修改登录和注册接口数据返回格式的方法.分享给大家供大家参考,具体如下: 1.背景:需要将所有的数据返回格式统一成retCode/retMsg/data 2.登陆接口: 文件目录:app/Http/Controllers/Auth/LoginController 先写登陆接口是因为修改登录接口比注册接口要简单许多 登录接口中的第一句 use AuthenticatesUsers; 可以进去修改登录验证内容(默认是email+password登录),可以修改 va

  • Laravel 自带的Auth验证登录方法

    在laravel有自带的登录验证.只要建立对应的表和配置一些文件就能够使用,无需开发者自己去实现登录逻辑. 第一步:配置方面 在config下的auth.php配置guards 和 providers . 之后新建文件和数据库名称要和这里的对应. 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'token', 'provid

  • Django实现auth模块下的登录注册与注销功能

    看了好多登录注册和注销的教程,很乱,很迷,然后总结了一下,简单的做了一个登录,注册和注销的页面. 1,首先,使用pycharm创建一个项目 单击File -> 选中Django -> 在右侧Location选中所需的路径,或直接在框里命名 2,现在,你有了一个Django项目 你需要单击左下方的Terminal 创建一个app,命令:python  manage.py startapp Myapp(命名不做要求) 创建一个存放静态文件的文件夹:static(默认为该命名) 项目如下: 3,在W

  • laravel框架邮箱认证实现方法详解

    本文实例讲述了laravel框架邮箱认证实现方法.分享给大家供大家参考,具体如下: 修改 User 模型,将 Laravel 自带的邮箱认证功能集成到我们的程序中 <?php namespace App\Models; use Illuminate\Notifications\Notifiable; use Illuminate\Auth\MustVerifyEmail as MustVerifyEmailTrait; use Illuminate\Foundation\Auth\User as

随机推荐