目前,用户可以是管理员,看门人,教师等。我们目前正在使用默认提供商。
很快就会有多个俱乐部。所有角色都是相同的,并且可以在所有俱乐部中使用。用户可以在多个俱乐部中,在不同的俱乐部中担任不同的角色,或者也可以不参加俱乐部。
角色和俱乐部应保存在数据库中。
有一种简单的方法可以做到这一点。 理想情况下,我想做这样的事情。
[Authorize Roles = RoleName.Foo + Clubname.Bar]
答案 0 :(得分:2)
您可以使用Role Provider课程来自定义其行为,并按照此处显示的方式实施ASP.NET MVC - Alternative to Role Provider?
至少让你开始并有一些新想法。
希望这有帮助。
答案 1 :(得分:1)
使用默认的Authorize属性,角色只是字符串名称。有些人将其子类化为accept enum Roles。
也许您可以将所有俱乐部创建为角色,将所有角色创建为角色,并要求您同时拥有俱乐部角色角色和相应的角色级别。然而,这似乎是罗尔斯意义的腐败。如果没有自定义授权流程,我怀疑你能做到这一点。
我会考虑创建一个继承自custom authorize attribute的Authorize attribute,您可以扩展它以获取更多信息。您可以使用Simple Membership provider
查看扩展/自定义您的会员系统答案 2 :(得分:0)
您可以创建角色名称,例如“Administrator.Club1”和“Janitor.Club2”。
这假设俱乐部数量相对较少。