Я новичок в Laravel, и я сделал систему с пользователями. Аутентификация пользователей выполняется с помощью «php artisan make: auth», у меня есть столбец в таблице users
под названием activated
; когда activated = 0
, я не хочу, чтобы пользователь входил. Немного помогите пожалуйста? Извините, если эта подсказка была скучной.Не разрешать неактивным пользователям войти в систему Laravel
-1
A
ответ
-1
я найти себя, я просто добавить это myLoginController.php
protected function credentials(Request $request)
{
$credentials = $request->only($this->username(), 'password');
$credentials['activated'] = 1;
return $credentials;
}
0
Вы хотите, чтобы справиться с этим, как используя либо AuthenticatesUsers
признак или вручную часть вашего AuthController
, проверяя ответ от формы входа и возвращает соответствующий ответ:
<?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');
}
}
}