因此,我已经成功实现了自己的MembershipProvider,并且完全按照我的意图工作。ASP.NET MVC设计问题何处放置特定用户/“访问级别”代码
我已经用[Authorize]属性来装饰我的控制器动作,并且这也是完全按照我的意愿工作的。
我的问题是,我应该在哪里放置代码来确定“使用多少”访问权限?
[授权]仅表示当前用户是系统的有效用户。当前用户可能有UserAccess = 1,或2,或4,或8或其他。我会在Controller方法中执行此检查吗?还是应该将用户传递给我的Repository类,并让respository类只返回当前用户有权访问的记录?
换句话说,分离这种担忧的最好方法是什么?因为它涉及到认证。我在想,我应该将用户传递给Repository.GetData()方法,并让它执行必要的查找。
此queston的第二部分是,如何基于用户限制对特定视图的访问?例如,如果当前用户具有UserAccess = 2,我想省略一些字段,但是如果它的UserAccess = 4,我想显示所有字段。
更新
多一点点的研究之后,它看起来像我可能会一举两得,如果我实现我自己的RoleProvider - 我看我怎么能做到这一点,限制数据访问在控制器[Authorize(Roles = "Admin)]
上,它看起来对我来说是最好的选择。我如何使用它来根据角色呈现不同的视图?我会制作独立的视图并从控制器返回正确的视图吗?或者用一个在线C#做一个视图?
这就是我在想,控制器尽可能的精益。 – Nate 2010-01-25 21:19:04