.net MVC用户/组认证

时间:2011-09-06 17:31:46

标签: .net asp.net-mvc-3 asp.net-membership

我正在学习.net mvc3,我对用户身份验证的工作原理感到非常困惑,希望你们都能指出正确的方向。我的应用程序需要拥有用户和组,每个用户和组都需要存储超出身份验证所需的数据。例如,我的用户对象需要能够存储电话,传真和电子邮件数据,以及他们是否是项目经理。我的小组需要存储有关该组的其他一些数据,例如网站。

我正在将Entity用于其他模型。

我应该为我的用户和组创建模型,并以某种方式将它们与成员身份验证相关联?或者是以某种方式建造的东西的类型?或者我需要自定义会员提供商吗?

抱歉,如果我似乎无知。我只做了一个星期的网络。

如果这有助于解释,我来自Django背景。

谢谢!

1 个答案:

答案 0 :(得分:0)

您当然可以使用表单身份验证,并使用默认的aspnet_Users和aspnet_Roles表来处理登录帐户和您可能拥有的各种角色等内容,然后将角色分配给用户。这将允许您[Authorize(Roles = "Administrators")]您的控制器操作来控制谁可以做什么。您可以在此级别设置“项目经理”角色,并指定,如果根据该指定控制数据库是有意义的。如果没有,您可以将这些信息放在自己的表格中。

在我的情况下,我需要将数据与用户关联,因此我在自己的数据库中创建了一个特定于应用程序的Users表,然后通过向我的GUid列添加Guid列,将用户的aspnetdb Users表行链接到应用程序的Users表。拥有Users表并使用aspnet_Users表数据中的UserId填充该表。这样,当用户登录系统时,我可以检索适当的数据(例如,“我的食谱”)。可能有不同/更好的方法来解决这个问题,但这就是我最终为自己的情况所做的事情。在我的应用程序的数据库中,我只是创建了自己的表来处理像用户和组这样的事情,因为有很多感兴趣的领域。我根本不想改变aspnetdb中的表。不过,我会对其他人的想法感兴趣。

您可以看到我发布的有关此主题的问题here