Здравствуйте, ___mac___, Вы писали:
___>Прувет. По-моему довольно интересный вопрос.
___>В struts есть встроенная поддержка ролей. Можно в struts-config.xml прописать, какие action'ы явл. доступными для определённых ролей.
___>Непонятным остаётся следующее: как для каждой конкретной сессии назначить роль?
можно все сделать custom-способом (переопределяется strutsовский requestprocessor, а в нем — метод processRoles). как этот метод будет работать — так роли и придется подкладывать
а поставляемый в составе struts requestprocessor ориентирован на "стандартный" security, который в общем случае предполагает, что web-app защищается с помощью соотв. тегов в web.xml, а пользователи аутентифицируются при обращении к защищенным ресурсам с помощью jaas. при успешной аутентификации привилегии пользователя популируются в "нужное" место web-контейнера, после чего провайдер авторизации используемого сервера приложений (или свой, если его переопределить) будет корректно отзываться на метод request.isUserInRole(String roleName).
я делал обоими способами. второй мне нравится гораздо больше в силу своей "стандартности"