Вопрос

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

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

Спасибо,

Это было полезно?

Решение

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

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top