Jak wyświetlić różne menu zgodnie z regułą użytkownika korzystającego z Tile3

Używam kafelka3, sprężystego zabezpieczenia i rozporek2. Mam różną liczbę użytkowników, z których każda ma określoną rolę, a każda rola powinna mieć dostęp do określonego menu, mam następujący plik tile.xml, ale nie jestem pewien, jak to zmienić, aby rozwiązać problem.

Daj mi znać, jeśli chcesz, żebym dostarczył inną część mojego kodu.

<tiles-definitions>
    <definition name="baseLayout" template="/baseLayout.jsp">
        <put-attribute name="title"  value=""/>
        <put-attribute name="header" value="/header.jsp"/>
        <put-attribute name="menu" value=""/>
        <put-attribute name="body"   value=""/>
        <put-attribute name="footer"   value="/footer.jsp"/>
        <put-attribute name="register"  value="/register.jsp"/>
    </definition>

    <definition name="register1" extends="baseLayout">
        <put-attribute name="menu"   value="/menuAdmin.jsp"/>  
        <put-attribute name="body" value="/body.jsp"/>
    </definition>
    <definition name="register2" extends="baseLayout">
        <put-attribute name="menu"   value="/menuUser.jsp"/>  
        <put-attribute name="body" value="/body.jsp"/>    
     </definition>
       .....

Ponieważ moja aplikacja ma wiele różnych stron, muszę utworzyć osobną definicję dla każdego żądania dla roli każdego użytkownika. Na przykład powinna istnieć tylko definicja o nazwie register, a atrybut menu powinien dynamicznie zmieniać się w zależności od roli requestera lub w inny sposób, aby był prostszy.

Korzystam z poniższych, aby zdefiniować dostępne sekcje dla każdej roli

<http auto-config="true" access-denied-page="/notFound.jsp" use-expressions="true">
    <intercept-url pattern="/Profile/view*" access="hasRole('ROLE_ADMIN')" /> 
    <intercept-url pattern="/Search/view*" access="hasRole('ROLE_ADMIN')" /> 
    <form-login login-page="/index" 
                authentication-failure-url="/index?error=1"
                default-target-url="/default"/> 
     <logout logout-success-url="/index.jsp"/>
</http> 

Mogę użyć poniższego kodu, aby znaleźć rolę zalogowanego użytkownika

 @Action
 public class Default {
    public String execute(){
        String role =    
        SecurityContextHolder.getContext().getAuthentication().getAuthorities().toString();
        System.out.println("User's role:"+role);
        if(role.equalsIgnoreCase("[ROLE_ADMIN]"))
            return "Admin";
        return "";


    }

}

questionAnswers(1)

yourAnswerToTheQuestion