我在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 Membership表?
答案 0 :(得分:0)
可以使用MVC5的旧成员身份,但最好迁移到ASPNET身份提供程序。因此,您只需执行一次,并且将来不会遇到兼容性问题。这是一个链接:http://www.asp.net/identity/overview/migrations/migrating-an-existing-website-from-sql-membership-to-aspnet-identity