2017-01-03 13 views
2

私のlaravelプロジェクトでは、login.butの後にステータスとverify_emailをチェックしているので、ログインとロード後に発生するエラーコードをチェックしないでくださいページを継続的に。laravelでステータスと確認済みのメールを確認する

sessioncontroller

<?php 
namespace App\Http\Controllers; 

use Request; 
use Response; 
//----models-------- 
use App\Site; 
use App\Jobs; 


use Auth; 
use DB; 
use Validator; 
use Redirect; 

use Illuminate\Support\MessageBag; 
class SessionController extends Controller { 

    public function index(){ 
     return Redirect::to('login'); 
    } 
    public function store() 
    { 
      $input = Request::only('username', 'email', 'password'); 
      $credentials = [ 
       'username' => Request::get('username'), 
       'password' => Request::get('password') 
      ]; 

      if (!Auth::attempt($credentials)) 
      { 
       return Redirect::back()->with('alert-danger', 'Username or password do not match.'); 
      } 
      else 
      { 

       if (Auth::user()->verified_email != 1) { 
        Auth::logout(); 
        return Redirect::back()->with('alert-danger', 'Please verify your email.'); 
       } 

       if (Auth::user()->status != 'A') { 
        Auth::logout(); 
        return Redirect::back()->with('alert-danger', 'Your Account is disabled.Please contact your Administrator.'); 
       } 

       $credentials_last_login = [ 
        'last_login_at' => '', 
        'username' => array_get('username', $input, ' '), 
        'password' => array_get('password', $input, ' ') 
       ]; 
       if (Auth::attempt($credentials_last_login)) 
       { 
        return redirect('/change_password'); 
       } 
       else 
       { 
        return redirect('/properties'); 
       } 
      } 
    } 
} 

これは、ユーザ名、パスワードが一致しないときにエラー警告を与えるが、verified_emailが1でないとステータスが代わりにエラーを示すのアクティブでないときにそれをロードする際ません。

答えて

1

あなたのパスワードはハッシュとして格納されているが、私はあなたが普通それを呼び出すと思う - 試してみてください。

'password' => Hash::make($request->password) 
関連する問題