我在之前的项目中使用了laravel 5.1并且我没有遇到任何问题,但现在我安装了Laravel 5.2并且我遇到了auth功能问题 所以我使用以下路线
table {
margin-left: auto;
margin-right: auto;
width:96%;
}
.right-slider {
float: right;
margin: 33 98 0 0;
position: relative;
width:4%;
}
我可以看到我的身份验证表单,但是当我将表单发送到邮件路由Route::group(['middleware' => ['web']], function () {
Route::controllers([
"auth" => "Auth\AuthController",
"password" => "Auth\PasswordController"
]) ;
});
时,会话未设置,因此我获得了重定向,但是当我检查我是否登录时{{ 1}}我得到/auth/login
答案 0 :(得分:2)
简单地使用此Route::auth();
答案 1 :(得分:2)
不仅认证路由需要使用web
中间件组;所有需要它提供的功能的路线也需要使用它。
例如
Route::group(['middleware' => ['web']], function () {
Route::auth();
});
Route::get('example-1', function () {
dd(Auth::check()); // always will return false
});
Route::group(['middleware' => ['web']], function () {
Route::get('example-2', function () {
dd(Auth::check()); // works
});
});
Web中间件组只是为您收集并运行大量中间件。
'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,
],
您会注意到上面的StartSession::class
。这意味着对于您希望会话数据可用的每个请求(对于Auth等),您需要运行此中间件。
使用web
组,或在您想要的路由/路由组上显式调用该中间件。