2009-11-04 2 views
2

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

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

Спасибо,

ответ

3

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

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

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

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

2

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

Смежные вопросы