我已经开始使用互联网模板开发ASP.NET MVC 4应用程序。我希望登录机制与托管在完整SQL服务器上的外部数据库一起使用。 Visual Studio创建的Internet模板使用SQLExpress连接到localdb上的数据库。为了使登录机制适用于外部数据库,我做了以下更改:
1。使用aspnet_regsql.exe在我的外部数据库上创建了aspnet_schema。
2。更改了web.config中的连接字符串以反映externaldb。
<connectionStrings>
<clear />
<add name="DefaultConnection" providerName="System.Data.SqlClient"
connectionString="Data Source=10.183.2.22\Sandbox,1432;
Initial Catalog=ForecastView;Integrated Security=False;
User ID=peak;Password=PvS20150401;
Connect Timeout=15;Encrypt=False;TrustServerCertificate=False" />
</connectionStrings>
3.在web.config中添加了提供程序配置。
<profile defaultProvider="DefaultProfileProvider">
<providers>
<add name="DefaultProfileProvider"
type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</profile>
<membership defaultProvider="SqlProvider">
<providers>
<clear />
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider,
System.Web,Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="DefaultConnection" enablePasswordRetrieval="false"
enablePasswordReset="true" requiresQuestionAndAnswer="false"
requiresUniqueEmail="false" maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<roleManager>
<providers>
<clear />
<add connectionStringName="DefaultConnection" applicationName="/"
name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider,
System.Web, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
通过上述更改,如果我使用ASP.NET MVC 4的移动应用程序模板,外部数据库的登录机制将起作用。如何使此功能适用于Internet模板?非常感谢任何帮助!!