Ограничить персонал для входа в Laravel в обеих системах

Я создал 2 (две) системы и 2 поддомена с той же базой данных но сотрудники могут входить в обе системы, и я хочу отключить персонал, чтобы они не входили в другую систему.

пожалуйста, дайте мне знать, если кто-нибудь сможет это сделать. Я новичок в мире Laravel

Спасибо

Вы можете использовать два промежуточного программного обеспечения: одно для персонала, а другое для администратора. Если вы не имеете представления о промежуточном программном обеспечении, прочтите эту ссылку laravel.com/docs/5.4/middleware

Gurpal singh 19.09.2018 04:40

разрешение + роли + промежуточное ПО.

ZeroOne 19.09.2018 05:00
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
2
19
1

Ответы 1

Рассмотрите возможность добавления поля instance_id к модели User.

В первом приложении добавьте в app/Http/Controllers/Auth/LoginController.php:

/**
 * Attempt to log the user into the application.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return bool
 */
protected function attemptLogin(Request $request)
{
    $success = $this->guard()->attempt(
        $this->credentials($request), $request->filled('remember')
    );

    return ($success && $this->userExistsInApplication());
}


/**
 * Determine if the user exists for the specified application
 *
 * @return bool
 */
private function userExistsInApplication()
{
    if ($this->guard()->user()->instance_id == env('APP_INSTANCE'))
        return true;

    $this->guard()->user()->logout();

    return false;
}

Добавить в .env:

APP_INSTANCE=1

В приложении второй добавьте в app/Http/Controllers/Auth/LoginController.php:

/**
 * Attempt to log the user into the application.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return bool
 */
protected function attemptLogin(Request $request)
{
    $success = $this->guard()->attempt(
        $this->credentials($request), $request->filled('remember')
    );

    return ($success && $this->userExistsInApplication());
}


/**
 * Determine if the user exists for the specified application
 *
 * @return bool
 */
private function userExistsInApplication()
{
    if ($this->guard()->user()->instance_id == env('APP_INSTANCE'))
        return true;

    $this->guard()->user()->logout();

    return false;
}

Добавить в .env:

APP_INSTANCE=2

Установите, в какой экземпляр пользователь может войти, на основе их значения, установленного в instance_id.

Другие вопросы по теме