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