【发布时间】:2013-01-28 17:09:37
【问题描述】:
我有一个 MVC 3.0 应用程序,其中包含 3 个控制器和操作方法。 该应用程序是基于登录的。一旦用户通过身份验证,他就会登陆主页,在那里他会看到 3 个菜单链接,这些链接映射到三个控制器的操作方法。用户可以点击链接或在地址栏中输入网址,并可以导航到相应的页面。
但是现在链接已经变成了基于角色的,
如果 IsProductPageAllowed=true 则只有用户可以看到 ProductPage。
如果 IsMediaPageAllowed=true 则只有用户可以看到 MediaPage。
我已经根据属性值 true/false 在主页视图中轻松处理链接的可见性。
但是如果他直接在地址栏中输入url并且值为false,则正在寻找一种正确的方法来阻止用户访问ProductPage。通过检查 true false 属性,我可以轻松地在控制器的每个操作方法上执行此操作,如果值为 false,则相应地重定向到主页。
我在想一些更好的方法来做到这一点,比如在控制器本身中。
谢谢,
M.
【问题讨论】:
-
您是否考虑过创建自定义操作选择器?
-
不,我从未听说过这个词,我肯定也会这么看。是动作过滤器吗?
标签: asp.net asp.net-mvc-3 c#-4.0 controller