2011-09-06 67 views
1

我学习.NET MVC3,我如何用户验证工作很迷茫,希望你们都可以让我在正确的方向指向。我的应用程序需要有用户和组,每个用户和组都需要存储超出验证所需的数据。例如,我的用户对象需要能够存储电话,传真和电子邮件数据以及他们是否是项目经理。我的小组需要存储关于该小组的其他数据,例如网站。.NET MVC用户/组认证

我使用实体为我的其他车型。

我是否应为我的用户和组模型并以某种方式将其与会员认证链接?或者是以某种方式构建的类型?或者我需要一个自定义会员供应商?

对不起,如果我似乎无知。我一直在做.net一个星期。

我来自一个Django的背景下,如果说在解释帮助。

谢谢!

回答

0

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

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

你可以看到一个问题,我发布了关于这个问题here

+0

这基本上是我最终做的。我在我自己的数据库中创建了一个用户和组表,并将我的用户表存储在个人档案信息中,并与内置用户以及组关联起来。由于任务分为管理员和非管理员任务,因此我最终只需要管理员角色。 – lovefaithswing