Laravel. Авторизация, как правильно зарегистрировать права (Gate)?
Всем привет. Вопрос про авторизацию
У меня есть публичная часть (интернет-магазин) и административная часть.
И сложная логика с правами доступа, прежде чем проводить регистрацию прав (Gate::...) я должен понимать в какой части приложения находится пользователь.
Или он в административной, то тогда одна логика, если в интернет-витрине - другая логика.
Вопрос, как мне это лучше сделать?
Первое, что пришло на ум, может на уровне middleware разрулить, обвязать все административные routerы в middleware (пример app:admin)
и внутри уже регистрировать права Gate. Для интернет-витрины app:shop.
Но, на сколько это правильно в middleware регистрировать права доступа?
Какие ещё есть возможности это реализовать?
Как насчет ролей и прав? Если у пользователя нет опред. роли с правом доступа в админ. панель. Значит он и не может выполнять данное действие находясь там.
Мне кажется, проблема в том, что вы пользуетесь Gate, а он предусматривает только разрешения, причем без ролей. Попробуйте мой модуль, он добавляет к Gate роли: Laravel 5. Иерархический RBAC для самых маленьких