あなたのLoginController.php
パスでsendFailedLoginResponse機能を変更しようとすることができます:アプリ\のHttpコントローラ\ \ LoginController
を照らし\のHttp \要求とApp \ユーザーを(ここではアプリケーションでインポートすることを忘れないでください\ Models \ UserはユーザーモデルをApp \ Modelsに移動したためです)。
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use App\Models\User;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
protected function credentials(Request $request) {
return array_merge($request->only($this->username(), 'password'), ['active' => 1]);
}
/**
* Get the failed login response instance.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\RedirectResponse
*/
protected function sendFailedLoginResponse(Request $request)
{
$errors = [$this->username() => trans('auth.failed')];
// Load user from database
$user = User::where($this->username(), $request->{$this->username()})->first();
// Check if user was successfully loaded, that the password matches
// and active is not 1. If so, override the default error message.
if ($user && \Hash::check($request->password, $user->password) && $user->active != 1) {
$errors = [$this->username() => trans('auth.notactivated')];
}
if ($request->expectsJson()) {
return response()->json($errors, 422);
}
return redirect()->back()
->withInput($request->only($this->username(), 'remember'))
->withErrors($errors);
}
}
はところで、私は、\ EN \ auth.php私は(「auth.notactivated」)、トランスを使用することができますので、私のエラーメッセージなどのリソース\ LANGの行を追加します。フラッシュメッセージについて
<?php
return [
'failed' => 'These credentials do not match our records.',
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
'notactivated' => 'This account has not been activated yet.',
];
チェック:https://laravel.com/docs/5.4/session#flash-data – Troyer
私が欲しいものではない厥。私はフラッシュメッセージについて知っています。しかし、私の質問は、ユーザーが非アクティブだが有効な詳細でログインしようとすると、フラッシュメッセージを設定する方法です。 –