【发布时间】:2016-03-15 20:47:09
【问题描述】:
我在 Sitecore 7.2 中有一个现有站点。我想将该站点从 Sitecore 移出并进入一个新的 MVC 5 项目。我希望我的用户能够使用他们现有的凭据。在我看来,从数据库方案来看,Sitecore 正在使用 SQL Membership 来管理用户存储。我已经运行 aspnet_regsql.exe 来设置一个新数据库,它与 Sitecore 数据库具有相同的结构。
我已将以下内容添加到我的新 web.config。
<profile defaultProvider="DefaultProfileProvider">
<providers>
<add name="DefaultProfileProvider" type="System.Web.Profile.SqlProfileProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</profile>
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<clear />
<add name="DefaultMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="MyApplication" passwordFormat="Hashed" />
</providers>
</membership>
<roleManager defaultProvider="DefaultRoleProvider">
<providers>
<add name="DefaultRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</roleManager>
当我运行我的新测试项目时,它会在我的新数据库中创建额外的表,并且不使用使用 aspnet_regsql.exe 创建的表。
我的问题是,我需要在新的 MVC 5 web.config 和其他地方添加什么来强制我的新项目使用使用 aspnet_regsql.exe 创建的 SQL 成员资格表?
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-5 sqlmembershipprovider