Мы разрабатываем приложение с каркасом 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
которые применяются к некоторым конкретным функциям
Вопрос:
какой способ вы рекомендуете и укажите причины, по которым вы предлагаете
Итак, ответ зависит от различных параметров. Цель, которую вы пытаетесь достичь, может быть достигнута с помощью 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
Если я что-то упустил или ответ может быть улучшен в любом случае, не стесняйтесь комментировать.
Других решений пока нет …