LINUX.ORG.RU

Проектирование прав (админ or юзер)

 ,


0

2

Проблема подкралась в реализации админ панели (да и вообще страниц с ограничением прав просмотра) т.к пользуюсь Sails смог прикрутить сессии, сокеты, и юзверей, но проблема с ограничением прав все-же возникла, не могу додуматься как прикрутить админку. Вроде из кастов смог понять что можно создать поле в таблице admin = принимающее true or false, а дальше настроить полис на пускать, или не пускать, но админу каждому просто так не дашь, и нужно его (админа) или сразу создать с определенным паролем (как?), или сделать временный псевдоконтроллер - который как установщик в wordpress - только создает суперюзера, а потом соответственно удалить этот контроллер. Но чтобы не получилось уж совсем дыряво, хочу спросить у местных девелоперов (не обязательно NodeJS) как думаете можно реализовать админа в приложении?



Последнее исправление: cetjs2 (всего исправлений: 2)

Напиши маленький модуль для создания учеток и консольную морду к нему. Плюс можешь добавить обработчик при старте, который проверит, пуста ли база, и если да — запустит твой модуль для создания учеток для создания predefined users.

Можешь ввести поле HasToChangePasswordAfterLogin, чтобы зайти можно было, используя этот пароль, лишь один раз. Дальше на веб-морде юзер поменяет пароль.

Как-то так, или что-то еще? Или вообще не то? :)

noomorph
()

группы, ACL, фильтры на роутах

umren ★★★★★
()

Сначала определитесь, какая вам нужна политика - ролевая, мандатная (мандатно-групповая), смешанная. Это в вики можно почитать. И нужно ли наследовать права.

Если хватит чистой ролевой или мандатной - там логика примитивная.

Vit ★★★★★
()
Ответ на: комментарий от noomorph

немного не то, но такую мысль запомню, у меня есть в кажой модели атрибут admin если его значение true. police в SailsJS дает разрешение пускать или не пускать пользователя, это я уже сделал, но проблема в том когда создать пользователя с admin:true - сразу-же, или сделать псевдоконтроллер - цель которого создания суперюзера, а потом как только он его создаст - удалить этот контроллер, наподобии install.php в wordpress, который только создает суперюзера, а потом все манипуляции происходят в админке, особо крутые права на множественное деление ролей не предполагаются.

Lefan
() автор топика
Ответ на: комментарий от Lefan

Если предполагаешь тиражирование своего продукта, то надо смотреть в сторону контроллера.

Если сервером заведует одно лицо или одна компания, то можно и не писать код для этого — достаточно скриптов или утилиты.

Мне кажется, что необязательно удалять сам контроллер после обработки - сделай проверки в нем на предмет степени установленности сервера (или, как вариант, наличия хотя бы одного админа в базе). Плюс пусть выдает 404 ошибку, если сервер проинсталлирован. Иногда имеет смысл ограничить доступ к этой суперстранице, допуская лишь IP-адреса из локальной сети.

noomorph
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.