1

我正在开发一个 ASP.NET MVC 3 应用程序,用户可以在其中为不同的资产类型分配不同的角色。他们能够一次查看属于不同组(资产类型)的资产。

根据正在查看的资产的资产类型,我想更新委托人的角色数组,使其仅具有用户已分配给该资产类型的角色。

我想我会做一个授权过滤器,负责根据正在查看的资产查找用户分配给的角色并将它们加载到角色数组中。这样,角色数组将始终反映他们对正在查看的资产拥有的权限。

然后从视图中,我可以隐藏/显示页面的不同部分,具体取决于它们是否在特定组中(User.isInRole)

这是否是根据资产类型为用户切换角色的正确方法?

4

1 回答 1

0

如果需要在请求中应用这些角色,并且您可以从标头、查询字符串、cookie 或会话中获取项目标识符,我建议可能添加一个绑定到AuthorizeRequest事件的 httpmodule。在这一点上,您将希望为您的IPrinciple对象提供其自定义实现

IsInRoles 基于您的规则。

这行得通吗,我主要是在猜测您的设置和 ipad 上的情况。

于 2013-03-28T11:01:40.140 回答