热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Laravel5.2Auth无法正常工作-Laravel5.2AuthnotWorking

AsyouguysknowLaravel5.2wasreleasedafewdaysago.Iamtryingthisnewversion.Imadeanew

As you guys know Laravel 5.2 was released a few days ago. I am trying this new version. I made a new project using the following command on CLI:

你们知道Laravel 5.2几天前发布了。我正在尝试这个新版本。我在CLI上使用以下命令创建了一个新项目:

laravel new testapp

As per documentation of Authentication Quickstart, I followed the following command to scaffold routes and views of authentication:

根据Authentication Quickstart的文档,我按照以下命令来构建身份验证的路由和视图:

php artisan make:auth

It worked fine. Registration is working fine. But I am facing problem in Login. After login I tested following in route.php file:

它工作正常。注册工作正常。但我在登录时遇到问题。登录后我在route.php文件中测试了以下内容:

   Route::get('/', function () {
    dd( Auth::user());
    return view('welcome');
});

Auth::user() is returning null and also Auth::check() and Auth::guest() are not working appropriately. I have tried same thing again and again two three times by making new projects but couldn't get the correct results.

Auth :: user()返回null,并且Auth :: check()和Auth :: guest()无法正常工作。我通过制作新项目一次又一次地尝试了两次,但无法得到正确的结果。

Below is the complete route.php

以下是完整的route.php

     ['web']], function () {
    //
});

Route::group(['middleware' => 'web'], function () {
    Route::auth();

    Route::get('/home', 'HomeController@index');
});

Can anyone help me? or Is anyone facing the same problem? How can I fix it?

谁能帮我?或是否有人面临同样的问题?我该如何解决?

1 个解决方案

#1


29  

Laravel 5.2 introduces the middleware groups concept: you can specify that one or more middleware belongs to a group, and you can apply a middleware group to one or more routes

Laravel 5.2引入了中间件组概念:您可以指定一个或多个中间件属于一个组,并且可以将中间件组应用于一个或多个路由

By default Laravel 5.2 defines a group named web, used to group the middleware handling session and other http utilities:

默认情况下,Laravel 5.2定义了一个名为web的组,用于对中间件处理会话和其他http实用程序进行分组:

protected $middlewareGroups = [
'web' => [
    \App\Http\Middleware\EncryptCOOKIEs::class,
    \Illuminate\COOKIE\Middleware\AddQueuedCOOKIEsToResponse::class,
    \Illuminate\Session\Middleware\StartSession::class,
    \Illuminate\View\Middleware\ShareErrorsFromSession::class,
    \App\Http\Middleware\VerifyCsrfToken::class,
],

So, if you want session handling, you should use this middleware group for all the routes in which you want to use authentication:

因此,如果要进行会话处理,则应将此中间件组用于要使用身份验证的所有路由:

Route::group( [ 'middleware' => ['web'] ], function () 
{
    //this route will use the middleware of the 'web' group, so session and auth will work here         
    Route::get('/', function () {
        dd( Auth::user() );
    });       
});

UPDATE FOR LARAVEL VERSION >= 5.2.27

LARAVEL VERSION的更新> = 5.2.27

As of Laravel 5.2.27 version, all the routes defined in routes.php are using by default the web middleware group. That is achieved in app/Providers/RouteServiceProvider.php :

从Laravel 5.2.27版本开始,routes.php中定义的所有路由默认使用Web中间件组。这是在app / Providers / RouteServiceProvider.php中实现的:

protected function mapWebRoutes(Router $router)
{
    $router->group([
        'namespace' => $this->namespace, 'middleware' => 'web'
    ], function ($router) {
        require app_path('Http/routes.php');
    });
}

So you don't need anymore to add manually the web middleware group to your routes.

因此,您不再需要手动将Web中间件组添加到路由中。

Anyhow, if you want to use the default authentication for a route, you still need bind the auth middleware to the route

无论如何,如果你想对路由使用默认身份验证,你仍然需要将auth中间件绑定到路由


推荐阅读
  • 本文介绍了如何将Spring属性占位符与Jersey的@Path和@ApplicationPath注解结合使用,以便在资源路径中动态解析属性值。 ... [详细]
  • MyBatisCodeHelperPro 2.9.3 最新在线免费激活方法
    MyBatisCodeHelperPro 2.9.3 是一款强大的代码生成工具,适用于多种开发环境。本文将介绍如何在线免费激活该工具,帮助开发者提高工作效率。 ... [详细]
  • 本文探讨了 Java 中 HttpClient 和 HtmlUnit 的区别,重点介绍了它们的功能和应用场景。 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 驱动程序的基本结构1、Windows驱动程序中重要的数据结构1.1、驱动对象(DRIVER_OBJECT)每个驱动程序会有唯一的驱动对象与之对应,并且这个驱动对象是在驱 ... [详细]
  • 使用System.getProperty()获取系统属性
    本文详细介绍了如何使用System.getProperty()方法获取Java运行时环境中的各种系统属性,包括Java版本、操作系统信息等。 ... [详细]
  • 作为一名新手开发者,我正在尝试使用 ASP.NET 和 Vue.js 构建一个单页面应用,涉及多个复杂组件(如按钮、图表等)。希望有经验的开发者能够提供指导。 ... [详细]
  • 开发笔记:前端之前端初识
    开发笔记:前端之前端初识 ... [详细]
  • 在运行于MS SQL Server 2005的.NET 2.0 Web应用中,我偶尔会遇到令人头疼的SQL死锁问题。过去,我们主要通过调整查询来解决这些问题,但这既耗时又不可靠。我希望能找到一种确定性的查询模式,确保从设计上彻底避免SQL死锁。 ... [详细]
  • 在 CentOS 7 环境中使用 MySQL 5.6 镜像启动数据库时遇到权限问题,本文将详细探讨并提供解决方案。 ... [详细]
author-avatar
好好地经历这每一天
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有