2015-12-31 12 views
18

जैसा कि आप लोगों को पता है कि लैरवेल 5.2 कुछ दिन पहले जारी किया गया था। मैं इस नए संस्करण की कोशिश कर रहा हूँ। मैं CLI पर निम्न आदेश का उपयोग कर एक नई परियोजना बनाया:लार्वेल 5.2 एथ काम नहीं कर रहा

php artisan make:auth 

यह ठीक काम किया:

laravel new testapp 

प्रति documentation of Authentication Quickstart रूप में, मैं पाड़ मार्गों और प्रमाणीकरण के विचारों के लिए निम्न आदेश का पालन किया। पंजीकरण ठीक काम कर रहा है। लेकिन मुझे लॉगिन में समस्या का सामना करना पड़ रहा है। प्रवेश करने के बाद मैं 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', '[email protected]'); 
}); 

किसी को भी मेरी मदद कर सकते है? या क्या कोई भी एक ही समस्या का सामना कर रहा है? मेरे द्वारा यह कैसे किया जा सकता है?

+0

को auth मिडलवेयर बाँध आप अपने मार्ग समूह में मिडलवेयर समूह 'web' उपयोग कर रहे हैं की जरूरत है? कृपया अपने सभी मार्गों को पोस्ट करें। एफपी – Moppo

+0

@Moppo प्रश्न में ऊपर जोड़ा गया। –

उत्तर

29

Laravel 5.2 का परिचय middleware groups अवधारणा: आप निर्दिष्ट कर सकते कि एक या अधिक मिडलवेयर एक समूह के अंतर्गत आता है, और आप एक या अधिक मार्गों

डिफ़ॉल्ट रूप से 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()); 
    });  
}); 

Laravel संस्करण> = 5.2.27

के लिए अपडेट 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'); 
    }); 
} 

तो आप अब अपने मार्गों के लिए मैन्युअल रूप से web मिडलवेयर समूह जोड़ने के लिए की जरूरत नहीं है।

किसी भी तरह, आप एक मार्ग के लिए डिफ़ॉल्ट प्रमाणीकरण का उपयोग करना चाहते हैं, तो आप अभी भी मार्ग

+3

यह प्रारंभिक मानसिक बाधा के बाद मुझे बहुत अधिक समझ में आता है, "आपको एथ काम करने के लिए 'ऑथ' मिडलवेयर की आवश्यकता नहीं है, आपको 'वेब' मिडलवेयर की आवश्यकता है ... – WannabeCoder

संबंधित मुद्दे