169 похожих чатов

Добрый день, вопрос задавал уже, но ответа не получил. Пытаюсь

приспособить пакет sparie permissions. есть 4 роли, админ, рекламодатель, менеджер и оператор
Есть 2 вопроса:
1. Как можно разделить код, например рекламодатель может добавлять новых пользователей в свою компанию и company_id не нужно в form_request, так же response для одинаковых разделов, разный. Хотелось бы завязать на permissions а не role name, но как это обыграть не понятно пока( Т.е. есть одинаковые разделы, которые имеют разные проверки входных данных, разный запрос и ответ
2. Нужно ограничить список прав в рамках какой-то группы (например доступ к разделы у операторов, не может быть в других ролей, соответственно админ не может создать смешанную роль админ + оператор. Я так понял нужно группировать права в группы и предлагать админу создавать роль на основе группы?

8 ответов

18 просмотров

https://laravel.com/docs/8.x/authorization#creating-policies

по 1 пункту — подставлять в форму company_id, но не давать его редактировать (да хотя бы в hidden input), на беке проверять, что рекламодатель может добавлять пользователей в эту компанию.

Maksim-Melnichuk Автор вопроса
Владимир Блискун
по 1 пункту — подставлять в форму company_id, но н...

у меня api, проблема скорее в организации кода, чем в самой логике. Один form request должен проверять что company_id required, другой нет (если это не админ), и тут товарищ выше бы сказал - так проверь это в formrequest, например switch или if )) но что если таких различий будет больше, код будет усыпан проверками. Опять же пример раздел пользователи для админа и для рекламодателя почти одинаковый, но админу вовзаращется response более расширенный (больше информационных данных по пользователям). давно все советуют привязываться к пермишенам, а не к строчке if($role='admin'), ведь роли динамические в нашем проекте и я могу создавать их в любой момент

Maksim-Melnichuk Автор вопроса

пока нет каши, поэтому и ищу решения чтобы её не создать) ну либо придется, если ничего не придумаю "Создай permission, который будет добавлять расширенную инфу в ответ." отдельное правило, аля "полный ответ о пользователях" ? )) не понял тут

Maksim Melnichuk
пока нет каши, поэтому и ищу решения чтобы её не с...

что-то типа can('full-info'). И если сработало, то добавляешь к ответу больше информационных данных по пользователям, если нет - отсылаешь минимальный набор данных

Maksim-Melnichuk Автор вопроса
Владимир Блискун
что-то типа can('full-info'). И если сработало, то...

и кто должен выставлять этот пермишен и как ты себе это представляешь?)) я вижу со стороны UI группы прав, например "пользователи", внутри "Список пользователей", "Добавление пользователя" и т.д. как обычный юзер, менеджер или просто доверенной лицо должно понимать что такое full-info или правило "Возвращать полный ответ" )

Maksim Melnichuk
и кто должен выставлять этот пермишен и как ты себ...

кто должен выставлять этот пермишен Тот, кому ты дашь право на установку этого permission Роль админа - это кто и чем занимается?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта