суббота, 26 ноября 2016 г.

3.2 История о том, как написать систему управления проектами (ERP) своими руками. Модель доступов.

Итак, на данный момент, скелет системы потихоньку обрастает функционалом. Пока что сделано не так уж и много, но именно сейчас происходит становление основных принципов работы будущей системы.

При реализации модуля управления я подошел к моменту, когда пора закладывать функционал по доступам к модулям и плагинам. Имея опыт в 3 года, путем граблей, синяков и боли, "иожЫком" родился довольно простой механизм, который был изобретен умными людьми за долго до меня. В штатном расписании есть отделы и должности. Переносим все в систему - группы и роли. Вяжем по принципу: если модуль доступен группе, к которой принадлежит роль, значит, он доступен и человеку, который исполняет назначенную роль. НО если группе недоступен модуль, однако, указано то, что роли он вполне доступен, то человек с ролью все равно имеет доступ к модулю. А все потому, что периодически, у руководства есть свое "видение" "вратарей - гонял" и переубедить их подчас бывает почти нереально.

Плюсы: раздал отделам(группам) доступы для модуля и не паришься, если надо совсем тонко запилить - спускаешься до ролей и добавляешь их. Удобно, относительно просто и быстро

Минусы:  усложняется валидация: помимо отделов(групп) нужно проверять еще и роли. Далее, если добавить еще механизм редакторов/владельцев, то будет совсем сложно, с точки зрения исполнения. Я лентяй, поэтому обычно упрощаю - создавая конфиг для каждого модуля, что несколько муторной делает настройку, но в то же время упрощает первичную настройку.


Комментариев нет:

Отправить комментарий