то чтобы перевести эти привилегии в конкретные ограничения, доступы и виды интерфейса нам нужна тогда документация? Если пользователь может, например, "edit own requests" - мы же должны понять что сервер подразумевает и под "own" и под "requests"
Я обычно делю на глобальные и локальные права. В первых какие страницы/части показывать, а во вторых что на них можно делать.
Про список ролей и прав я понял. Но в таком случае предназначение прав мы можем понять только через документацию? В правах же не выразить, что пользователь может редактировать только те сообщения, где user_id === user.id или все, если channel.user_id === user.id и message.channel_id === channel.id?
у тебя интерфейс вообще не должен знать, владелец он или нет, ты просто даёшь права на редактирование. Знает об этом только сервер.
А как в таком случае интерфейсу определять, что отобразить пользователю, а что нет? Из беседы, до текущего момента, я понял что клиент получает список привилегий пользователя при аутентификации. Т.е. такая конструкция, как массив или что-то подобное, где строками описано, что может делать данный пользователь. А вот как эти привилегии перевести в условия, по которым отображать тот или иной интерфейс - я что-то пока не совсем понимаю
Обсуждают сегодня