不能在aspnet工具中看到我的会员提供商

时间:2013-12-18 17:54:13

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

我只是使用自定义成员资格提供程序创建一个aspnet MVC 4基本应用程序。 我按照以下步骤操作:

1)使用aspnetregsql.exe在Sql Server 2008中创建成员资格表 所以我有自定义会员表,如:

aspnet_Users

aspnet_Membership

aspnet_Roles ...

2)添加了一个引用该数据库的连接字符串。

3)在成员资格部分的web.config文件中添加了一个提供程序:

<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" 
         connectionStringName="primecontrol" enablePasswordRetrieval="false" 
         enablePasswordReset="true" requiresQuestionAndAnswer="false" 
         requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" 
         minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" 
         passwordAttemptWindow="10" applicationName="/" />

因此,当我运行ASP.NET配置工具并去测试我的提供者连接时,它说我不创建任何提供者。

但是,如果我创建一个新用户,例如,它会在我的数据库中创建另一个没有'aspnet'前缀的表。 怎么回事?

1 个答案:

答案 0 :(得分:2)

  

我只是用自定义创建一个aspnet MVC 4基本应用程序   会员提供者。

在web.config中,我没有看到声明自定义成员资格提供程序。

应该像 -

<membership defaultProvider="CustomProvider">
   <providers>
     <clear/>
        <add name="CustomProvider" 
         type="YourNamespace.YourMembershipProvider, YourNamespace" 
         ... />
   </providers>
</membership>

如果您使用的是ASP.Net MVC 4,则需要使用新的 ASP.NET Universal Providers ,它基本上是您使用的旧会员提供程序的较新版本

ASP.NET通用提供商使用实体框架代码优先,与商店流程相比,它更加清晰。

如果您想要最新的会员资格,可能需要尝试ASP.NET Identity。注意:身份不与旧会员提供商向后兼容。