Отделяйте пользователя от собственника участка
В кабинет может входить не только собственник. Например, участок оформлен на одного человека, а оплатой занимается член семьи. Поэтому доступ к кабинету и право собственности — разные вещи.
Если вы дали человеку доступ к кабинету, он от этого не становится собственником. И наоборот: новый собственник не должен автоматически получить права администратора.
Выдавайте минимально необходимый доступ
Жителю показывайте только его участки, начисления, документы, показания и доступные собрания. Списки других жителей, банковские выписки и служебные отчёты ему не нужны.
Сотруднику правления тоже не обязательно давать всё. Если он отвечает только за документы или обращения, доступ к банковским данным можно не выдавать.
Проверяйте доступ на сервере, а не только в меню
Недостаточно просто спрятать кнопку в меню. Человек может открыть старую или чужую ссылку. Поэтому система должна проверять права каждый раз, когда открывает закрытую страницу или файл.
Особенно важно это для документов, платежей и персональных данных. Чужая прямая ссылка не должна открывать то, к чему нет доступа.
Не оставляйте старые права после изменения обязанностей
Если сотрудник ушёл из правления или сменил обязанности, сразу уберите лишний доступ. В карточке пользователя должно быть видно, к каким ТСН и разделам он сейчас допущен. Изменения прав лучше сохранять в журнале.
Система не должна позволять администратору случайно заблокировать самого себя или удалить доступ у последнего администратора ТСН. Иначе вернуть доступ сможет только технический специалист.
Перед завершением проверьте эти пункты
- Учётная запись пользователя отделена от записи о собственнике.
- Житель видит только данные своего ТСН и разрешённых участков.
- Права администратора получают только те, кому они нужны для работы.
- Защита проверяется на сервере для каждого закрытого действия и файла.
- Изменения ролей и блокировки сохраняются в истории действий.
Сделать это в НашеТСН
Откройте нужный раздел и посмотрите, как выполнить эту задачу в сервисе.