Asp.net MVC 4 EF Code First初学者会员提供商

时间:2013-01-23 09:15:21

标签: asp.net-mvc ef-code-first asp.net-membership

虽然我问了几个关于如何使用ASP.NET MVC 4的成员资格提供程序的问题,但几乎没有得到任何答复。我花了很多时间(作为一个新手)开始使用ASP.NET MVC 4中的成员资格提供程序。我一直在阅读文章,尝试的东西,但这只会增加混乱而不是帮助。

初学者对以下查询的答案是什么:

  1. 我想尝试所有成员资格提供者(包括简单的成员资格提供者),然后才决定我应该将哪一个用于哪个项目。我可以在ASP.NET MVC 4中使用哪些成员资格提供程序,以及如何配置它们中的每一个。任何文件或链接?
  2. 虽然互联网模板附带预配置的帐户控制器,可设置会员功能,但如何向基本模板添加会员功能。为了使用成员资格提供者配置成员资格,我应该遵循哪些步骤(我假设不同的成员资格提供者会有不同的步骤/配置/设置集。)
  3. 运行使用Internet项目模板创建的ASP.NET MVC 4项目(不对其进行任何更改)在数据库中创建5个表,即UserProfile,webpages_Membership,webpages_OAthMembership,webpages_Roles,webpages_UsersInRoles)。在AccountModel.cs中,我只看到一个UserProfile的定义。其他表格定义在哪里。我是否总是需要将所有这些表都放在数据库中才能使用成员资格。我可以自定义它们,重命名它们还是选择不使用它们中的一些?
  4. 我没有在web.config中看到任何针对互联网项目模板的会员资格配置,但是正在使用会员资格。在一些文章教程中,我看到人们通过向web.config添加<membership></membership>来配置它。我什么时候需要将配置设置添加到web.config以及何时不需要?
  5. 我认为会员提供商的目的是让开发人员生活轻松,但对我而言,这使得它变得更加困难。 我知道我真的需要研究它,这就是我在过去7天,8天内所做的尝试但却无法弄清楚。 任何帮助,链接(希望不是我多次经历过的那些)都非常受欢迎。

2 个答案:

答案 0 :(得分:3)

我同意你的观点,关于什么会员类型做什么很糟糕的指导。

  1. 您可以将任何提供程序与ASP MVC一起使用。 Visual Studio中作为Internet MVC应用程序的默认模板是唯一使用SimpleMembership的模板。

  2. 好问题,我根本没有找到任何明确,体面的文件。据我所知,大部分会员资格设置非常相似。

  3. 至少SimpleMembership将创建所需的DB表(如果它们不存在)。我认为唯一可以自定义的是用户表。

  4. 我认为像sql表一样,暗示了web.config中的成员资格标签。如果您接受默认值,他们会神奇地工作。

  5. 我发现的最佳链接就是这个 http://blog.longle.net/2012/09/25/seeding-users-and-roles-with-mvc4-simplemembershipprovider-simpleroleprovider-ef5-codefirst-and-custom-user-properties/

    在该帖子中还有另外两个也很有用。

答案 1 :(得分:1)

对于问题3,我尝试了一些事情,结果证明:

:您可以向UserProfile(以及其他所有表格)添加新列

:即使您已修改AccountModels中的代码以匹配新表名,也无法重命名该表。 在这种情况下,启动应用程序时将再次创建一组具有旧名称的表。 MVC4(MembserShip,WebSecurity,Users,Roles ....)提供的所有代码都将使用旧表。

而且,我从未找到任何有关如何重命名这些表的信息。