我创建了一个有一些角色的网站。每个用户都可以拥有一些角色。每个角色都有权访问某些页面。 我想根据用户角色动态构建菜单,这样每个用户都可以在他的菜单中看到他的可用页面。 我想知道最好的方法是什么?使用XML来描述此菜单层次结构并指定每个角色可用菜单或有更好的方法来执行此操作?
答案 0 :(得分:1)
我强烈建议使用Telerik's Extensions for ASP.NET MVC。
而不是重新发明轮子它包含一个功能强大的菜单扩展,具有良好的可编程性。我已经使用.Visible()方法和IPrincipal.IsInRole()来确定哪些菜单可用以及何时可用。
更好的是它是免费和开源的!有支持的付费版本,但社区和论坛支持似乎非常好。
答案 1 :(得分:1)
我们有一个拥有角色和对象的mysql数据库,并根据登录用户在运行时决定谁可以看到什么。还会对页面上的各个部分或控件做出决定。页面本身也可以进行测试,以确保它不仅仅是一个隐藏页面的菜单。
答案 2 :(得分:0)
我之前将MVC站点地图项目与“安全修整”链接助手("Security aware" action link?)结合使用。很简单。