Laravel身份验证登录返回特定错误

Laravel身份验证登录返回特定错误,laravel,Laravel,这是我的密码 public function login_Post() { if (Auth::user()->attempt(array('email' => Input::get('email'), 'password' => Input::get('password'), 'active' => 1))) { Event::fire('users.login'); return Redirect::to('/')-&g

这是我的密码

public function login_Post()
{
    if (Auth::user()->attempt(array('email' => Input::get('email'), 'password' => Input::get('password'), 'active' => 1)))
    {
        Event::fire('users.login');
        return Redirect::to('/')->with('message', 'succsed');
    }
    else
        return Redirect::to('user/login')->withInput(Input::except('password'));
}

我想在用户未处于活动状态时警告他/她,以激活我如何取消重新启动和激活要求,或者由于用户名或密码错误而登录失败?

您必须首先检查该用户是否存在:

if ( ! User::where('email', Input::get('email'))->first())
{
   return 'This user does not exists';
}
然后尝试:

Auth::user()->attempt(...);

您必须首先检查用户是否存在:

if ( ! User::where('email', Input::get('email'))->first())
{
   return 'This user does not exists';
}
然后尝试:

Auth::user()->attempt(...);

您必须首先检查用户是否存在:

if ( ! User::where('email', Input::get('email'))->first())
{
   return 'This user does not exists';
}
然后尝试:

Auth::user()->attempt(...);

您必须首先检查用户是否存在:

if ( ! User::where('email', Input::get('email'))->first())
{
   return 'This user does not exists';
}
然后尝试:

Auth::user()->attempt(...);

使用现有代码的最简单方法是先
Auth::trunt()
,然后检查
active
属性,以便返回单独的错误

控制器:

public function login_Post()
{
    if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password'))))
    {

        if(!Auth::user()->active)
        {
            Auth::logout();
            return Redirect::to('user/login')->with('errors', ['Your account hasn't been activated']);

        }

        Event::fire('users.login');
        return Redirect::to('/')->with('message', 'succsed');
    }
    else
        return Redirect::to('user/login')->withInput(Input::except('password'))->with('errors', ['Authentication failed.']);;
}
@if( Session::get('errors') )

    <ul class="error">
        @foreach( Session::get('errors') as $message )
            @if(is_array($message))
                @foreach( $message as $subMessage )
                    <li>{{ $subMessage }}</li>
                @endforeach
            @else
                <li>{{ $message }}</li>
            @endif
        @endforeach
    </ul>

@endif
然后在错误视图中:

public function login_Post()
{
    if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password'))))
    {

        if(!Auth::user()->active)
        {
            Auth::logout();
            return Redirect::to('user/login')->with('errors', ['Your account hasn't been activated']);

        }

        Event::fire('users.login');
        return Redirect::to('/')->with('message', 'succsed');
    }
    else
        return Redirect::to('user/login')->withInput(Input::except('password'))->with('errors', ['Authentication failed.']);;
}
@if( Session::get('errors') )

    <ul class="error">
        @foreach( Session::get('errors') as $message )
            @if(is_array($message))
                @foreach( $message as $subMessage )
                    <li>{{ $subMessage }}</li>
                @endforeach
            @else
                <li>{{ $message }}</li>
            @endif
        @endforeach
    </ul>

@endif
@if(会话::get('errors'))
    @foreach(会话::获取('errors')作为$message) @if(is_数组($message)) @foreach($message作为$subMessage)
  • {{$subMessage}}
  • @endforeach @否则
  • {{$message}}
  • @恩迪夫 @endforeach
@恩迪夫
使用现有代码的最简单方法是首先
Auth::trunt()
,然后检查
active
属性,以便返回单独的错误

控制器:

public function login_Post()
{
    if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password'))))
    {

        if(!Auth::user()->active)
        {
            Auth::logout();
            return Redirect::to('user/login')->with('errors', ['Your account hasn't been activated']);

        }

        Event::fire('users.login');
        return Redirect::to('/')->with('message', 'succsed');
    }
    else
        return Redirect::to('user/login')->withInput(Input::except('password'))->with('errors', ['Authentication failed.']);;
}
@if( Session::get('errors') )

    <ul class="error">
        @foreach( Session::get('errors') as $message )
            @if(is_array($message))
                @foreach( $message as $subMessage )
                    <li>{{ $subMessage }}</li>
                @endforeach
            @else
                <li>{{ $message }}</li>
            @endif
        @endforeach
    </ul>

@endif
然后在错误视图中:

public function login_Post()
{
    if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password'))))
    {

        if(!Auth::user()->active)
        {
            Auth::logout();
            return Redirect::to('user/login')->with('errors', ['Your account hasn't been activated']);

        }

        Event::fire('users.login');
        return Redirect::to('/')->with('message', 'succsed');
    }
    else
        return Redirect::to('user/login')->withInput(Input::except('password'))->with('errors', ['Authentication failed.']);;
}
@if( Session::get('errors') )

    <ul class="error">
        @foreach( Session::get('errors') as $message )
            @if(is_array($message))
                @foreach( $message as $subMessage )
                    <li>{{ $subMessage }}</li>
                @endforeach
            @else
                <li>{{ $message }}</li>
            @endif
        @endforeach
    </ul>

@endif
@if(会话::get('errors'))
    @foreach(会话::获取('errors')作为$message) @if(is_数组($message)) @foreach($message作为$subMessage)
  • {{$subMessage}}
  • @endforeach @否则
  • {{$message}}
  • @恩迪夫 @endforeach
@恩迪夫
使用现有代码的最简单方法是首先
Auth::trunt()
,然后检查
active
属性,以便返回单独的错误

控制器:

public function login_Post()
{
    if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password'))))
    {

        if(!Auth::user()->active)
        {
            Auth::logout();
            return Redirect::to('user/login')->with('errors', ['Your account hasn't been activated']);

        }

        Event::fire('users.login');
        return Redirect::to('/')->with('message', 'succsed');
    }
    else
        return Redirect::to('user/login')->withInput(Input::except('password'))->with('errors', ['Authentication failed.']);;
}
@if( Session::get('errors') )

    <ul class="error">
        @foreach( Session::get('errors') as $message )
            @if(is_array($message))
                @foreach( $message as $subMessage )
                    <li>{{ $subMessage }}</li>
                @endforeach
            @else
                <li>{{ $message }}</li>
            @endif
        @endforeach
    </ul>

@endif
然后在错误视图中:

public function login_Post()
{
    if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password'))))
    {

        if(!Auth::user()->active)
        {
            Auth::logout();
            return Redirect::to('user/login')->with('errors', ['Your account hasn't been activated']);

        }

        Event::fire('users.login');
        return Redirect::to('/')->with('message', 'succsed');
    }
    else
        return Redirect::to('user/login')->withInput(Input::except('password'))->with('errors', ['Authentication failed.']);;
}
@if( Session::get('errors') )

    <ul class="error">
        @foreach( Session::get('errors') as $message )
            @if(is_array($message))
                @foreach( $message as $subMessage )
                    <li>{{ $subMessage }}</li>
                @endforeach
            @else
                <li>{{ $message }}</li>
            @endif
        @endforeach
    </ul>

@endif
@if(会话::get('errors'))
    @foreach(会话::获取('errors')作为$message) @if(is_数组($message)) @foreach($message作为$subMessage)
  • {{$subMessage}}
  • @endforeach @否则
  • {{$message}}
  • @恩迪夫 @endforeach
@恩迪夫
使用现有代码的最简单方法是首先
Auth::trunt()
,然后检查
active
属性,以便返回单独的错误

控制器:

public function login_Post()
{
    if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password'))))
    {

        if(!Auth::user()->active)
        {
            Auth::logout();
            return Redirect::to('user/login')->with('errors', ['Your account hasn't been activated']);

        }

        Event::fire('users.login');
        return Redirect::to('/')->with('message', 'succsed');
    }
    else
        return Redirect::to('user/login')->withInput(Input::except('password'))->with('errors', ['Authentication failed.']);;
}
@if( Session::get('errors') )

    <ul class="error">
        @foreach( Session::get('errors') as $message )
            @if(is_array($message))
                @foreach( $message as $subMessage )
                    <li>{{ $subMessage }}</li>
                @endforeach
            @else
                <li>{{ $message }}</li>
            @endif
        @endforeach
    </ul>

@endif
然后在错误视图中:

public function login_Post()
{
    if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password'))))
    {

        if(!Auth::user()->active)
        {
            Auth::logout();
            return Redirect::to('user/login')->with('errors', ['Your account hasn't been activated']);

        }

        Event::fire('users.login');
        return Redirect::to('/')->with('message', 'succsed');
    }
    else
        return Redirect::to('user/login')->withInput(Input::except('password'))->with('errors', ['Authentication failed.']);;
}
@if( Session::get('errors') )

    <ul class="error">
        @foreach( Session::get('errors') as $message )
            @if(is_array($message))
                @foreach( $message as $subMessage )
                    <li>{{ $subMessage }}</li>
                @endforeach
            @else
                <li>{{ $message }}</li>
            @endif
        @endforeach
    </ul>

@endif
@if(会话::get('errors'))
    @foreach(会话::获取('errors')作为$message) @if(is_数组($message)) @foreach($message作为$subMessage)
  • {{$subMessage}}
  • @endforeach @否则
  • {{$message}}
  • @恩迪夫 @endforeach
@恩迪夫
这很好,但是,。。如何获得具体的错误?相反,我用每个?这很好,但是,。。如何获得具体的错误?相反,我用每个?这很好,但是,。。如何获得具体的错误?相反,我用每个?这很好,但是,。。如何获得具体的错误?相反,我使用的是每一个?