这不是看shiro 这是看数据设计 角色权限的对应关系问题 shirokei时限你的需求 数据库设计好就行了
你可以这样操作 , 将菜单信息作为一个属性封装到 User 对象中去 , 然后前端根据传过来的菜单信息去动态的生成菜单 , 这个其实跟shiro没关系;
shiro主要是做登录和权限控制的 , 其实菜单也可以看做是一种权限 , 可以将每个菜单都作为shiro的权限 , 如果是 jsp 的话可以使用 shiro 的标签去动态的展示菜单;
我的建议是第一种方式 , 将菜单信息封装到 User 对象中 , 如果用户有哪个菜单被取消了就在数据库中将该用户的 指定菜单记录删掉即可 , 应该使用shiro来做更加细粒度的权限控制