2017-02-21 8 views
-1

私はLaravelを初めて使用しており、ユーザーとシステムをやりました。 "php artisan make:auth"で認証されたユーザーはというテーブルにactivatedという名前のカラムがあります。 activated = 0の場合、ユーザーにログインさせたくありません。ちょっと助けてください。この手がかりが退屈なのであれば申し訳ありません。非アクティブなユーザーがLaravelにログインすることを許可しない

答えて

-1

私は自分自身を見つける、私はちょうどあなたがあなたのログインフォームからの応答を確認することでAuthenticatesUsers形質を使用するか、手動でAuthControllerの一部のいずれかとし、これを処理することになるでしょうmyLoginController.php

protected function credentials(Request $request) 
{ 
    $credentials = $request->only($this->username(), 'password'); 
    $credentials['activated'] = 1; 

    return $credentials; 
} 
0

にこれを追加適切な応答を返します。

<?php 

namespace App\Http\Controllers; 

use App; 

use Illuminate\Auth\AuthManager; 
use Illuminate\Foundation\Auth\AuthenticatesUsers; 

/** 
* Class AuthController 
* @package Speechlink\Http\Controllers\Auth 
*/ 
class AuthController extends Controller 
{ 
    use AuthenticatesUsers; 

    /** 
    * Create a new authentication controller instance. 
    * @param AuthManager  $auth 
    */ 
    public function __construct(AuthManager $auth) 
    { 
     $this->auth = $auth; 
    } 

    /** 
    * Deal with the login attempt (overrides the trait's postLogin method) 
    * 
    * @param Request $request 
    * @return $this|\Illuminate\Http\RedirectResponse 
    */ 
    public function postLogin(Request $request) 
    { 
     $this->validate($request, [ 
      'username' => 'required', 
      'password' => 'required', 
     ]); 

     $credentials = $request->only('username', 'password'); 

     if ($this->auth->attempt($credentials)) { 
      // We authenticated so continue 
      return redirect('path/to/logged_in'); 
     } else { 
      // We failed authentication so redirect somewhere else 
      return redirect('path/to/disabled_user'); 
     } 

    } 
} 
関連する問題