Size: a a a

JavaScript.Ninja

2020 June 11

KF

Konstantin Fedoruk in JavaScript.Ninja
Illya Klymov
У вас хвост машет собакой
вот я сейчас накидываю ролевой модуль ,как он будет в базе реализован, попутно и все остальное приложение. Остановился на вопросе, а как будет реализован этот момент, пошел гуглить, зашел  в тупик, пришел в чат начал обсуждение.
Ну извините, что этот вопрос не финальный в моем приложении и не могу изложить абсолютно все обстоятельства))
Это шутка если что, спасибо, что в чате помогаете)
источник

KF

Konstantin Fedoruk in JavaScript.Ninja
Я в принципе и искал существующие практики и не настаиваю на каком либо, конкретном, решении.
источник

IK

Illya Klymov in JavaScript.Ninja
Вы пытаетесь описать сценарий "действие" - "сущность" - "уровень доступа". это превращается в ад как только начинается любая из классических задач:
- наследование прав доступа (иерархия сущностей)
- админы и "местные админы" (везде вставлять проверку на is admin?)
- когда начинают появляться роли со странными хотелками "юзеров можно смотреть, товары можно только "приходовать" (только один эндпойнт),  ит.д.
источник

IK

Illya Klymov in JavaScript.Ninja
В реальности же вам нужна функция can? (юзер, операция, энтити) где и будет жить логика доступа
источник

IK

Illya Klymov in JavaScript.Ninja
при этом в БД можно для начала хранить это вообще плоским списком прав
источник

IK

Illya Klymov in JavaScript.Ninja
я вот прям сейчас работаю с кусочком гитлаба и вот живая иллюстрация:
источник

IK

Illya Klymov in JavaScript.Ninja
"имеет ли право этот пользователь создавать проекты в этом неймспейсе"
источник

IK

Illya Klymov in JavaScript.Ninja
источник

IK

Illya Klymov in JavaScript.Ninja
вот и наша троица )
источник

IK

Illya Klymov in JavaScript.Ninja
и вся логика живет в классе Ability
источник

KF

Konstantin Fedoruk in JavaScript.Ninja
Illya Klymov
я вот прям сейчас работаю с кусочком гитлаба и вот живая иллюстрация:
Я так и понял, что вопрос насущный))
источник

KF

Konstantin Fedoruk in JavaScript.Ninja
Illya Klymov
и вся логика живет в классе Ability
Ага... спасибо, попробую)
источник

IK

Illya Klymov in JavaScript.Ninja
Konstantin Fedoruk
Я так и понял, что вопрос насущный))
У меня нет. Просто в том куске кода
источник

DZ

Dmitry Zelonkin in JavaScript.Ninja
Отправляю XMLHttpRequest с CORS заголовками но все еще получаю
Access to XMLHttpRequest at 'http://mysite.local/api/...' from origin 'http://mysite.local:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
источник

DZ

Dmitry Zelonkin in JavaScript.Ninja
источник

DZ

Dmitry Zelonkin in JavaScript.Ninja
Подскажите плиз если есть догадки в чем может быть проблема
источник

KF

Konstantin Fedoruk in JavaScript.Ninja
Illya Klymov
и вся логика живет в классе Ability
Подожди, так у нас вовсе нет ролевой модели, получается?
источник

IK

Illya Klymov in JavaScript.Ninja
1. Это  ответ на OPTIONS?
2. withCredentials используете?
источник

IK

Illya Klymov in JavaScript.Ninja
Konstantin Fedoruk
Подожди, так у нас вовсе нет ролевой модели, получается?
есть
источник

DZ

Dmitry Zelonkin in JavaScript.Ninja
На GET
источник