私はこのような解決策を考えています:
- ユーザー向けのさまざまなメニューは、テンプレートに含まれる役割によって異なります
- 役割専用のページにのみアクセスするのが適切
sec:intercept-url
であるため、ある役割を持つユーザーは別の役割のページにアクセスできなくなります
このソリューションについてどう思いますか?
masterLayout
のように見える:
<h:body>
<f:subview id="menuUser" rendered="#{sessionBean.user}">
<ui:include src="/WEB-INF/templates/menuBarUser.xhtml" />
</f:subview>
<f:subview id="menuAdmin" rendered="#{sessionBean.admin}">
<ui:include src="/WEB-INF/templates/menuBarAdmin.xhtml" />
</f:subview>
<ui:insert name="content" />
</h:body>
security-context.xml:
...
<sec:intercept-url pattern="/user/**" access="ROLE_USER" />
<sec:intercept-url pattern="/admin/**" access="ROLE_ADMIN" />
...