Роли / Привилегии в приложении Spring/Hibernate

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

Как добиться этого доступа на основе ролей в приложении Spring/Hibernate? Особенно в плане расширения для добавления новых ролей / привилегий. Может ли Acegi (я никогда не использовал его) помочь? Буду признателен за любую другую идею, которая поможет мне достичь вышеизложенного.

Спасибо,

2 ответа

Решение

Как упоминалось в Duffymo, Acegi был переименован в "Spring Security", и это то, что я бы порекомендовал, если вы уже работаете с Spring.

Для Acegi в Интернете больше документации, чем для Spring Security, поэтому, если вы сомневаетесь, вы можете найти полезную информацию в документах / руководствах Acegi, а также в последних материалах Spring.

Если вы можете создать свою пользовательскую таблицу так, чтобы она соответствовала концепции Spring Security (имя пользователя, пароль, роли, для каждого из которых указаны определенные типы и имена), вы можете использовать классы DAO Spring Security прямо из коробки; если нет, вы создаете крошечный класс адаптера для подключения Spring Security к вашей базе данных для пользовательского запроса.

Вы можете указать необходимые роли для каждого сервлета /URL или даже на уровне метода. Мне потребовался день или два, чтобы обдумать связанные с ними концепции, но после этой настройки это было достаточно просто, и я был рад, что они уже решили большинство видов проблем, возникающих в связи с веб-безопасностью.

Да, Spring Security (ранее известный как ACEGI) может это сделать.

Другие вопросы по тегам