Multi Auth в Laravel использовать или не использовать

Мы разрабатываем приложение с каркасом Laravel. Предполагается, что это RESTful-приложение, которое реализуется через resources каркаса Laravel, с учетом следующего примера:

class CategoryController extends Controller
{

public function __construct() {

}public function index()
{
return response()->json($this->getAll());
}public function create()
{
//
}public function store(Request $request)
{
//
}

Давайте возьмем следующий пример:
Некоторые методы, такие как store а также create разрешены только администратором сайта, но index метод разрешен для всех пользователей, и существует множество случаев, подобных этому примеру — разные типы пользователей могут получить доступ только к некоторым методам Contrller.

В этом случае мы можем извлечь выгоду из Multi Auth Laravel и создавать разные таблицы для хранения пользователей или определять разные типы для пользователей в одной таблице и обрабатывать доступ пользователей с помощью middleware которые применяются к некоторым конкретным функциям

Вопрос:
какой способ вы рекомендуете и укажите причины, по которым вы предлагаете

1

Решение

Итак, ответ зависит от различных параметров. Цель, которую вы пытаетесь достичь, может быть достигнута с помощью Laravel Multi-Auth или любой системы RBAC (Role Based Access Control).

Ситуации, когда вы должны использовать RBAC: Если ваше приложение маленькое, вы должны пойти на любую ролевую вещь.
Например. Допустим, вы работаете над какой-то CMS, тогда вы не будете создавать таблицы для каждой позиции (менеджер, разработчик, руководитель отдела маркетинга и т. Д.), Поэтому RBAC — хороший вариант для вас.

Ситуации, где вы должны использовать Multi-Auth: Если ваша цель велика, и вы хотите отделить Логин пользователя стол и логин администратора Стол по любой причине, вы можете пойти на это.

Что я предлагаю

Что я предлагаю, так это использовать Multi Auth, а также RBAC (только если вы работаете или пытаетесь создать очень масштабное приложение)

Но, как вы описали, просто помня об этом, я бы посоветовал вам использовать RBAC, а не multi-auth.

Несколько полезных ссылок

Laravel Docs
RBAC (Один из самых популярных пакетов RBAC для Laravel)
Если вы хотите перейти на Multi Auth, пожалуйста, следуйте этому сообщению в блоге Multi-Auth с Laravel 5.2

Если я что-то упустил или ответ может быть улучшен в любом случае, не стесняйтесь комментировать.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]