Для чего в role и permission добавляют список значений?
Заметил, что во многих примерах в хуке useAuthв значении data, такие поля, как roleи permissionв виде массивов
Ведь, если у нас же по факту роли только администратор, друг или гость
Так же и с разрешением, мы там тоже админ или гость
Для чего эти свойства в виде массива, какой смысл в наборе значений в этих полях и в каких комбинациях они идут?
Роли чаще всего это группа привилегий. Почему используют их вместе - зависит от системы. Иногда достаточно ролей. Например, если у вас одна админка и пользоваться ей могут только админы. Но если у вас один UI на несколько пользователей, то обойтись одной ролью будет сложно. Если вы будете в коде везде делать проверку, что пользователь админ и ещё сотрудник и ещё менеджер, то это будет сложно. К тому же при добавлении новой роли вам нужно будет по всему коду добавлять проверку ещё и на другую роль. Вместо этого используют разрешения, которые выдаются пользователю. В коже вам нужно проверить это разрешение/привилегию и вам без разницы какая это роль. Добавляете новую роль и привязываете новые разрешения. Пользователь сразу сможет использовать систему в зависимости от прав.
То есть роли используют чаще для чего-то глобального и/или объединения разрешений. А сами разрешения уже позволяют гибко настраивать проверки.
хочу добавить про permission - там в принципе такая же ситуация, просто пользователь может быть ограничен в чём то на сайте, например не может временно писать комментарий под постами или ещё что-то, так же везде проверки какие-то и т.д
szQocks, так, а какие роли одновременно могут попасть в массив?
а в permission, как происходит обработка значений?
Получается в компоненте над каждом блоком висит проверка?