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でないとステータスが代わりにエラーを示すのアクティブでないときにそれをロードする際ません。