目前,用户可以是管理员、看门人、教师等。我们目前正在使用默认提供程序。
很快就会有多个俱乐部。所有角色都是相同的,并且在所有俱乐部中都可用。用户可以在多个俱乐部中并在不同的俱乐部中扮演不同的角色,或者他们也可能没有。
角色和俱乐部应保存在数据库中。
是否有捷径可寻。理想情况下,我想做这样的事情。
[Authorize Roles = RoleName.Foo + Clubname.Bar]
目前,用户可以是管理员、看门人、教师等。我们目前正在使用默认提供程序。
很快就会有多个俱乐部。所有角色都是相同的,并且在所有俱乐部中都可用。用户可以在多个俱乐部中并在不同的俱乐部中扮演不同的角色,或者他们也可能没有。
角色和俱乐部应保存在数据库中。
是否有捷径可寻。理想情况下,我想做这样的事情。
[Authorize Roles = RoleName.Foo + Clubname.Bar]
您可以使用Role Provider类来自定义其行为,并按照您的方式实现它,就像这里显示的那样ASP.NET MVC - Alternative to Role Provider?
至少让你开始并有一些新的想法。
希望这可以帮助。
使用默认授权属性角色只是字符串名称。有些人将其子类化以接受 enum Roles。
也许您可以将所有俱乐部创建为角色,并将所有角色创建为角色,并要求您同时拥有俱乐部名称角色和适当的角色级别。然而,这似乎是对角色含义的破坏。我怀疑您是否可以在没有自定义授权过程的情况下执行此操作。
我会考虑创建一个继承自Authorize 属性的自定义授权属性,您可以扩展它以获取更多信息。您可以查看使用简单会员提供程序扩展/自定义您的会员系统
您可以创建角色名称,例如“Administrator.Club1”和“Janitor.Club2”。
这是假设俱乐部数量相对较少。