AppFuse , хороший пример, но долгое время не обновлялся.
По моему опыту, интеграция Struts-Menu с Spring Security only can
контролировала main menu
, но мне этого достаточно.
Например
<menu:useMenuDisplayer name="Velocity" config="cssHorizontalMenu.min.vm">
<security:authorize ifAnyGranted="${DoctorMenuRoles}">
<menu:displayMenu name="DOCTOR" />
</security:authorize>
<security:authorize ifAnyGranted="${PatientMenuRoles}">
<menu:displayMenu name="PATIENT" />
</security:authorize>
<security:authorize ifAnyGranted="${AdminMenuRoles}">
<menu:displayMenu name="ADMIN" />
</security:authorize>
</menu:useMenuDisplayer>
[DoctorMenuRoles]: отображается и доступно для пользователей с разрешенной ролью.