ваша вторая часть очень похожа на управление доступом пользователей и правами, и я считаю, что Spring Security Module - лучший подход для достижения этой цели. Spring Security
Это один из подходов, однакотакже требует изучения другого фреймворка поверх Struts.
В этом типе приложения я лично реализовал бы объект UserInfo, чтобы поддерживать его в сеансе с полем типа учетной записи для базирования условных операций.Например, учетная запись суперпользователя будет просто иметь логическое значение с геттером user.isSuperUser ().
При этом вы можете вставить объект UserInfo в сеанс и использовать теги Struts для включения различных страниц, например:
<s:if test="%{#session.user.SuperUser}">
<s:include value="superUser.jsp" />
</s:if><s:else>
<s:include value="regularUser.jsp" />
</s:else>