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

А в чем сложность написать самому нужный функционал? У юзера

всего навсего появляется дополнительное поле... Роль, которой могут принадлежать множество разрешений... Или просто роль... В зависимости от поставленного тз

8 ответов

21 просмотр

Вообще зависит от цели. Если нужно просто отличать админ-не админ, то из коробки за глаза хватает. А вот если нужно 100500 пермишенов на каждый чих и выдавать не только напрямую пользователям, а ещё и на группы, то тут без стороннего пакета не обойтись. Кроме того, такой пакет крайне сложно поддерживать, т.к. его работа напрямую влияет на безопасность сайта. Самый простой кейс, ведущий в ад при работе с пермишенами на примере всего одного раздела - "отзывы": Юзер с ролью "админ" имеет полный доступ к системе. Юзер с ролью "менеджер" может только читать все отзывы. Юзер с ролью "гость" может только создавать отзывы и читать только свои. Юзер с идентификатором 123 из группы "менеджер" может создавать отзывы. Вот и всё. Без стороннего решения здесь не обойтись.

Велосипедостроение почетная профессия, но не всегда :)

Алексей Лукин
Велосипедостроение почетная профессия, но не всегд...

Далеко не всегда. Среди джунов, возможно, и то лишь потому что они часто не знают как именно искать из числа готового то, что им нужно. А вот если мидлы и выше велосипеды начинают писать, то это повод задуматься а мидл ли он...

Если мидл задумался на тему «а мидл ли он», он уже синьор, не?)

Serega-Zhadan Автор вопроса
Andrey Helldar
Вообще зависит от цели. Если нужно просто отличать...

Ну не знаю) в чем сложность? Таблица роли - таблица разрешения, роли - разрешения, юзер - роль... Юзер - разрешение... (Кому как удобнее, я предпочитаю всё же роль у пользователя, а не прямые разрешения пользователю) В гварде кроме самого пользователя проверяется всего навсего наличие требуемого разрешения.... И это актуально хоть для 10 пользователей, хоть для 10000000...какая разница?

Anatolii Koziura
Если мидл задумался на тему «а мидл ли он», он уже...

Нет) Над этим задумываться должны те, кто с ним работает.

Serega Zhadan
Ну не знаю) в чем сложность? Таблица роли - таблиц...

Для юзеров разницы нет, а для ролей... В большом проекте и для конкретных пользователей надо прокидывать роли. У нас, например, роль "системный администратор" имеет доступ только к конкретным областям, а вот один конкретный сисадмин должен ещё иметь возможность редактировать данные клиентов, так как у бизнеса есть такая потребность. На скрине часть нашей таблицы пермишенов. На нижней строке количество записей в таблице.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
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
Карта сайта