5

如何从空的 ASP.NET MVC 4 模板开始配置简单成员资格提供程序?

我在谷歌、必应和许多其他网站上进行了很多搜索,但我没有得到任何关于会员提供商的积极回应。

有人可以告诉我简单会员提供者的基础知识吗?

4

2 回答 2

3

我刚刚完成了这个过程,步骤如下。我假设您将使用 Entity Framework 进行数据访问并且已经设置好:

  • 参考库WebMatrix.DataWebMatrix.WebData. 您可以在“添加参考”对话框的“程序集/扩展”下找到它们
  • 将以下部分添加到Web.config
<configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(localdb)\v11.0;Initial Catalog=LicenceAudit.mdf;Integrated Security=SSPI;attachDBFilename=|DataDirectory|\LicenceAudit.mdf" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>
<system.web>
<membership defaultProvider="simpleMembershipProvider">
      <providers>
        <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="SimpleRoleProvider">
  <providers>
    <clear/>
    <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
  </providers>
</roleManager>
</system.web>
  • 添加WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UsersTableName", "UserId", "UserName", true)Application_Start()_Global.asax.cs
  • 确保您的数据库文件存在并包含适当的表。UserId 属性的类型应为int
  • 通过执行测试一切WebSecurity.CreateUserAndAccount("testUser", "myStrongPassword")。如果它通过了,你就没有问题了。
于 2013-06-28T19:41:22.297 回答
2

这是一篇简短的文章,逐步描述了如何将 ASP.NET SimpleMembership 添加到现有的 MVC 4 应用程序:

http://www.mono-software.com/blog/post/Mono/226/Adding-ASP-NET-SimpleMembership-to-an-existing-MVC-4-application/

于 2013-07-05T16:08:46.627 回答