我可以使用 Authorization 属性轻松地对控制器操作进行授权。但是如何像使用 Authorization 属性一样轻松地呈现视图呢?
例如,如果我有一个菜单并且用户未经授权使用某些菜单,我将如何隐藏这些菜单项?
假设我有一个页面,它呈现带有添加/编辑/删除链接的表格。我有与这些链接相对应的控制器操作,因此未经授权的用户无法执行这些操作。但我想进一步隐藏它们。
我现在所拥有的是一团糟,检查视图中的用户权限 - 一大堆 <% if (user.hasPermission(..) { %> ... <% } %>。这是不守规矩的。
有什么策略可以缓解这种混乱?当然,我不可能是第一个陷入这种困境的人。