ERP веб-программное обеспечение сделано в Laravel - PullRequest
0 голосов
/ 07 ноября 2019

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

Я работаю над проектом, созданным на php, и работаю с фреймворком Laravel. Это своего рода ERP.

  • Существует отцовская компания и много дочерних компаний
  • Каждая компания может иметь разные роли пользователей, и каждая роль может выполнять определенные действия
  • Пользователи родительских компаний могут также выполнять действия (на основе ролей) в дочерних компаниях
  • Пользователи дочерних компаний НЕ МОГУТ выполнять действия (на основе ролей) в дочерних компаниях
  • Если пользовательжурнал, он должен видеть только определенные подменю и формы (в зависимости от его роли)

Мои вопросы:

  1. Каков наилучший способ безопасного входа в систему? Должен ли я использовать Laravel Passport? Он должен основываться на одной пользовательской таблице, а система должна предоставлять ответ, основанный на роли пользователя

  2. Для проверки подлинности, которую я прочитал, может быть полезно использовать Политики Laravel. Но на самом деле я подумал, что может быть лучше использовать промежуточное программное обеспечение, которое будет проверять, соответствует ли пользовательский токен, отправленный с запросом API, пользователю, и другое промежуточное программное обеспечение, чтобы проверить, есть ли у этого конкретного пользователя разрешение на вызов именно этой конечной точки. Как мне установить разрешения в этом случае? С таблицей базы данных для пользователей, таких как система Linux Linux? С цепочкой, если это проверяет роли?

  3. Как вы думаете, это хорошая архитектура или это не лучший способ сделать то, что мне нужно? Вы бы предложили мне лучший способ? или статьи, чтобы узнать больше об этом?

Я надеюсь, что мой вопрос не глуп, и я надеюсь, что вы можете мне помочь. Если это не то место, где можно спросить об этом, подскажите, пожалуйста, где я должен опубликовать это? Спасибо.

1 Ответ

0 голосов
/ 07 ноября 2019

1) Если вам нужна базовая аутентификация

Laravel поставляется с несколькими предварительно встроенными контроллерами аутентификации , просто выполните следующие команды:

composer require laravel/ui --dev

php artisan ui vue --auth

Будет сгенерирована базовая аутентификация с маршрутами входа в систему, регистрации и сброса пароля.

Следующим шагом будет добавление ролей и разрешений для ваших пользователей. Вы могли бы сделать это, добавив таблицу ролей и сводную таблицу, ссылающуюся на пользователей, но я бы порекомендовал получить пакет, например spatie / laravel-Разрешение


2)Если вы хотите пройти аутентификацию через API

Теперь, если вы планируете создавать API и поскольку вы работаете с React, я бы предложил установить jwt-auth , который бы позволилаутентификация пользователей с помощью веб-токена JSON.

Laravel Passport - действительно хорошее решение. Он использует JWT и, вероятно, проще в использовании, на мой взгляд. И это позволит вам использовать стороннюю аутентификацию, если вам это понадобится в будущем.

Вы можете узнать больше о различиях между JWT и Laravel Passport: Laravel Passport против JWT против Oauth2 против Auth0 и как встроить аутентификацию в ваш Laravel API с помощью JSON Web Tokens (JWT)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...