2010-06-05 45 views
0

我可以使用授权属性轻松地对控制器操作进行授权。 但是,如何像使用授权属性一样容易地呈现视图?根据ASP.NET MVC中的授权选择性渲染视图的策略?

例如,如果我有一个菜单,并且用户未被授权用于某些菜单,我将如何隐藏这些菜单项?

比方说,我有一个页面,呈现一个表添加/编辑/删除链接。我有与这些链接相对应的控制器操作,因此未经授权的用户无法执行这些操作。但我想进一步隐藏它们。

我现在有一个混乱的意大利面,检查视图中的用户权限 - 整个<%if(user.hasPermission(..){%> ... <%}%>。 。顽劣

什么策略是有缓解这个烂摊子我当然不可能是第一个遇到了这个难题

回答

0

我觉得“安全减肥”的ActionLink助手将很好地解决问题了吗?:

"Security aware" action link?

+0

这很好,但它只适用于单一链接。我真的想要一种方法来过滤或删除一段代码或一段标记。我知道<%if(condition){%> ... <% } %>有效地做到这一点,但我感觉好像不够。也许这是我需要的一个不同的视图引擎 – 2010-06-11 14:12:08