在menu-config.xml文件中的<Menu/>和<Item/>标记有一个可选的属性:roles。该属性在与RolesPermissionsAdapter联合使用的时候,其值是所有可以看到该菜单/菜单项的角色列表,角色之间以空格分隔。
RolesPermissionsAdapter对象会根据空格从角色列表中取得各个角色,并为每个角色调用request.isUserInRole()方法。对于调用返回true的角色,就显示对应的菜单/菜单项。
例如,在menu-config.xml文件中配置如下:
<Menu name="PrefsMenu" title="Preferences" roles="User">
<Item name="UserPrefs" title="User Preferences" page="prefs.do"/>
<Item name="ModPrefs" title="Moderator Preferences"
page="modPrefs.do" roles="Moderator System"/>
<Item name="AdminPrefs" title="Site Preferences"
page="sitePrefs.do" roles="System"/>
</Menu>