基于ASP.NET MVC中的授权选择性呈现视图的策略?

时间:2010-06-05 00:16:22

标签: asp.net-mvc authorization html-rendering

我可以使用Authorization属性轻松地对控制器操作进行授权。 但是,如何使用授权属性轻松渲染视图?

例如,如果我有一个菜单并且某些菜单的用户未经授权,我该如何隐藏这些菜单项呢?

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

我现在拥有的是一个混乱的意大利面,在视图中检查用户权限 - 整个<%if(user.hasPermission(..){%> ...<%}%&gt这是不守规矩的。

有什么策略可以缓解这种混乱局面?当然,我不能成为第一个遇到这种困境的人。

1 个答案:

答案 0 :(得分:0)

我认为“安全修剪”ActionLink助手可以很好地解决您的问题:

"Security aware" action link?