Вход в Laravel 5.8

16.11.2019 05:29:32 Просмотров 61 Источник

Я новичок в Laravel. Я использую в своем проекте Laravel 5.8.

Я использую систему входа Laravel в своем проекте.

У меня есть миграция пользователей:

Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->bigInteger('company_id')->unsigned();
            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');
            $table->char('enable', 1)->default(0);
            $table->char('demo_mode', 1)->default(0);
            $table->date('account_paid_for');
            $table->string('name', 120)->nullable();
            $table->string('surname', 120)->nullable();
            $table->string('email', 120)->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->string('url_address', 160);
            $table->text('content')->nullable();
            $table->dateTime('last_activity')->nullable();
            $table->rememberToken();
            $table->timestamps();
            $table->engine = "InnoDB";
            $table->charset = 'utf8mb4';
            $table->collation = 'utf8mb4_unicode_ci';
        });

Мне нужно изменить логин Laravel по умолчанию, чтобы проверить, что enable = 1

Только пользователи с enable = 1 могут войти в систему. Как это сделать

У вопроса есть решение - Посмотреть?

Ответы - Вход в Laravel 5.8 / Login in Laravel 5.8

Является ответом!
nakov

16.11.2019 05:39:12

Можно добавить после промежуточного или просто переопределить метод авторизации в вашей LoginController:

use Auth; // add this at the top

protected function authenticated( Request $request, $user )
{
    if( ! $user->enable) {
        Auth::logout(); // log out the user

        return back()->with('error', 'The user is not allowed to enter');
    }

    return redirect($this->redirectTo);
}
Закрыть X