Aspnet网站管理工具,Users表或aspnet_users表

时间:2011-10-27 12:08:43

标签: asp.net asp.net-membership

为什么我的用户和角色最终会进入用户角色表而不是aspnet_users和aspnet_roles?


当我使用Aspnet网站管理工具(visualstudio-> menu-> project-> aspnet配置添加用户时,它最终会在Users表中;以及Roles表中的新角色。

我读过的关于这个主题的一切都是aspnet_users和aspnnet_roles。

我正在使用aspnetmvc4(beta),sqlserver2008r2,visualstudio2010。我已经通过aspnet_regsql.exe在数据库中创建了aspnet_xxx-tables。我嗅探sqlserver并获取针对用户和角色的查询。它甚至可以创建一个Applications表。

根据请求,web.config的成员资格部分:

<membership defaultProvider="DefaultMembershipProvider">
  <providers>
    <clear />
    <add connectionStringName="DefaultConnection" enablePasswordRetrieval="false"
      enablePasswordReset="true" requiresQuestionAndAnswer="false"
      requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" 
      minRequiredPasswordLength="6"
      minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
      applicationName="/"
         name="DefaultMembershipProvider"
         type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </providers>
</membership>

1 个答案:

答案 0 :(得分:8)

旧式ASP.NET 2.0+提供商(System.Web.XXX.SqlXXXProvider
- &GT;通过存储过程使用 aspnet _Users和 aspnet _Roles表。

新的通用提供商(System.Web.Providers.XXX
- &GT;通过(EF生成的?)SQL使用用户角色表。

此处有更多信息(来自Scott H先生): http://www.hanselman.com/blog/IntroducingSystemWebProvidersASPNETUniversalProvidersForSessionMembershipRolesAndUserProfileOnSQLCompactAndSQLAzure.aspx