1

目前,用户可以是管理员、看门人、教师等。我们目前正在使用默认提供程序。

很快就会有多个俱乐部。所有角色都是相同的,并且在所有俱乐部中都可用。用户可以在多个俱乐部中并在不同的俱乐部中扮演不同的角色,或者他们也可能没有。

角色和俱乐部应保存在数据库中。

是否有捷径可寻。理想情况下,我想做这样的事情。

[Authorize Roles = RoleName.Foo + Clubname.Bar]
4

3 回答 3

2

您可以使用Role Provider类来自定义其行为,并按照您的方式实现它,就像这里显示的那样ASP.NET MVC - Alternative to Role Provider?

至少让你开始并有一些新的想法。

希望这可以帮助。

于 2012-09-28T14:47:45.753 回答
1

使用默认授权属性角色只是字符串名称。有些人将其子类化以接受 enum Roles

也许您可以将所有俱乐部创建为角色,并将所有角色创建为角色,并要求您同时拥有俱乐部名称角色和适当的角色级别。然而,这似乎是对角色含义的破坏。我怀疑您是否可以在没有自定义授权过程的情况下执行此操作。

我会考虑创建一个继承自Authorize 属性的自定义授权属性,您可以扩展它以获取更多信息。您可以查看使用简单会员提供程序扩展/自定义您的会员系统

于 2012-09-28T09:53:42.007 回答
0

您可以创建角色名称,例如“Administrator.Club1”和“Janitor.Club2”。

这是假设俱乐部数量相对较少。

于 2012-09-28T09:13:54.133 回答