程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Laravel 5.2 Auth不起作用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Laravel 5.2 Auth不起作用?

开发过程中遇到Laravel 5.2 Auth不起作用的问题如何解决?下面主要结合日常开发的经验,给出你关于Laravel 5.2 Auth不起作用的解决方法建议,希望对你解决Laravel 5.2 Auth不起作用有所启发或帮助;

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

默认情况下,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,
],

因此, 要使用身份验证的所有路由 :

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() );
    });       
});

从Laravel5.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');
    });
}

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

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

解决方法

众所周知,Laravel 5.2是几天前发布的。我正在尝试这个新版本。我在CLI上使用以下命令创建了一个新项目:

laravel new testapp

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

php artisan make:auth

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

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

Auth::user()是返回null,也Auth::check()Auth::guest()没有适当工作。我通过制作新项目一次又一次尝试了两次,但是无法获得正确的结果。

下面是完整的 route.php

    <?php

/*
|--------------------------------------------------------------------------
| Routes File
|--------------------------------------------------------------------------
|
| Here is where you will register all of the routes in an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

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

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| This route group applies the "web" middleware group to every route
| it contains. The "web" middleware group is defined in your http
| kernel and includes session state,CSRF protection,and more.
|
*/

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

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

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

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

大佬总结

以上是大佬教程为你收集整理的Laravel 5.2 Auth不起作用全部内容,希望文章能够帮你解决Laravel 5.2 Auth不起作用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。