我会很感激的是我想实现一些反馈:ASP.Net MVC和会员
问题:
- 我想我的应用程序的用户授权以单个动作在控制器上。例如:如果用户具有所需的授权,则可以在我的控制器类上执行“保存”操作。
- 在我正在开发的项目中,创建角色&他们的授权是由客户端部署团队&完成的,不在我的控制之下。所以,我编程到一个可以分配给角色/用户的“控制点”,而我的应用程序只需要检查该控制点。
- 如何将控制点概念导入ASP.Net MVC?更具体地说,如何根据控制器上的用户权限启用/禁用View上的按钮?
我的解决办法:
- 参考:http://weblogs.asp.net/fredriknormen/archive/2008/03/12/asp-net-mvc-framework-2-interception-and-creating-a-role-action-filter.aspx - 作为一个起点而不是在上面的链接解释创建角色过滤器的
- ,我想有一个ControlPointFilter类将获得型号&进行授权检查。
- 我遇到的麻烦是在视图类&我目前正在传递控制点集合,用户可以在ViewData []集合中访问。
- 在View类中,我正在检查相关控制点是否存在于ViewData集合中(我不喜欢 - 希望在View类中保持代码最小)
- 另一个问题是 - 而实际的控制点名称正在属性中设置为控制器类,其中/如何将这些属性传递给视图&但仍保持视图清洁?
希望能帮助&感谢您的时间/努力来回答这个问题!
阳光
嗨tvanfosson - 这个解决方案看起来不错,我一定会尝试。我还不清楚如何将控制器上的属性传递给控制器基类以添加到控制点集合中。 也许我错过了一点 - 但我相信使用您的解决方案,我会有一个代码:base.ControlPointCollection.Add(“my_control_point”);而同样的东西已经被作为属性的行动方法(或者我不应该在这种情况下使用属性?) Sunny – Sunny 2009-05-17 17:01:04