Laravel 身份验证

Posted

技术标签:

【中文标题】Laravel 身份验证【英文标题】:Laravel Authentication 【发布时间】:2016-05-16 02:55:24 【问题描述】:

您好,我正在尝试进行基本身份验证。

查看

<!-- Simple login form -->
            !! Form::open(array('url' => '/auth/login')) !!

                <div class="panel panel-body login-form">
                    <div class="text-center">
                        <div class="icon-object border-slate-300 text-slate-300"><i class="icon-reading"></i></div>
                        <h5 class="content-group">Login to your account <small class="display-block">Enter your credentials below</small></h5>
                    </div>
                    @if($errors->any())
                        <div class="alert alert-danger no-border">
                            The username or password you have entered is incorrect
                        </div>
                    @endif

                    <div class="form-group has-feedback has-feedback-left">
                        Form::text('username', null, array('class'=>'form-control', 'placeholder'=>'Username'))
                        <div class="form-control-feedback">
                            <i class="icon-user text-muted"></i>
                        </div>
                    </div>

                    <div class="form-group has-feedback has-feedback-left">
                        Form::password('password', array('class'=>'form-control', 'placeholder'=>'Password'))
                        <div class="form-control-feedback">
                            <i class="icon-lock2 text-muted"></i>
                        </div>
                    </div>

                    <div class="form-group">
                        <button type="submit" class="btn btn-primary btn-block">Sign in <i class="icon-circle-right2 position-right"></i></button>
                    </div>

                    <div class="text-center">
                        <a href="login_password_recover.html">Forgot password?</a>
                    </div>
                </div>
            !! Form::close() !!
            <!-- /simple login form -->

路线

Route::get('auth/login', 'Auth\AuthController@getLogin'); Route::post('auth/login', 'Auth\AuthController@postLogin'); Route::get('auth/logout', 'Auth\AuthController@getLogout'); Route::get('auth/register', 'Auth\AuthController@getRegister'); 路由::post('auth/register', 'Auth\AuthController@postRegister') ;

但我收到以下错误

Undefined variable: errors

我没有更改任何其他内容,我只想进行基本身份验证。请帮我。我还错过了什么?

【问题讨论】:

Undefined variable: errors in Laravel的可能重复 这不是重复的,其他问题对我没有帮助。 【参考方案1】:

确保app/http/Kernel.php 中的$middleware[]; 数组注册了以下中间件:

\Illuminate\View\Middleware\ShareErrorsFromSession::class,

或者,您可以尝试在web中间件下注册认证路由,这样:

Route::group(['middleware' => ['web']], function () 
    Route::get('auth/login', 'Auth\AuthController@getLogin');
    Route::post('auth/login', 'Auth\AuthController@postLogin');
    Route::get('auth/logout', 'Auth\AuthController@getLogout');

    Route::get('auth/register', 'Auth\AuthController@getRegister');
    Route::post('auth/register', 'Auth\AuthController@postRegister');

我希望它会起作用。

【讨论】:

以上是关于Laravel 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 不能再使用基本身份验证

使用身份验证护照系统覆盖 laravel 中 apis url 的身份验证重定向

Laravel 5.1 使用默认身份验证控制器和中间件尝试使用额外参数进行身份验证

Laravel + React,使用 Laravel 身份验证的 api

在 laravel 5.2 中使用默认身份验证路由对用户进行身份验证后设置会话数据

如何在 laravel 5.2 中使用多重身份验证 [关闭]