Asp.net 使用IIS的Web管理工具数据库

Asp.net 使用IIS的Web管理工具数据库,asp.net,visual-studio-2010,iis,asp.net-membership,web-administration,Asp.net,Visual Studio 2010,Iis,Asp.net Membership,Web Administration,我已经为我的大学创建了一个需要会员资格的网站。 我使用了VisualStudio中的web管理工具,创建了用户和规则。当我在VisualStudio中测试它时,它工作得很好。 Web管理工具会自动在App_数据文件夹中创建一个名为ASPNETDB.MDF的SQL数据库,用于保存成员资格数据。 我的问题是,当我在IIS上添加网站时,数据库会工作吗?我必须创建sql server数据库并添加连接吗?请回答我。这非常重要。 我只想要一个非常基本的会员资格。您可以使用db from/App_Data,如

我已经为我的大学创建了一个需要会员资格的网站。 我使用了VisualStudio中的web管理工具,创建了用户和规则。当我在VisualStudio中测试它时,它工作得很好。 Web管理工具会自动在App_数据文件夹中创建一个名为ASPNETDB.MDF的SQL数据库,用于保存成员资格数据。 我的问题是,当我在IIS上添加网站时,数据库会工作吗?我必须创建sql server数据库并添加连接吗?请回答我。这非常重要。
我只想要一个非常基本的会员资格。

您可以使用db from/App_Data,如本SO答案所述:
-但这取决于您的服务器设置

当使用成员资格时,我的首选是从SQL/SQL Express中的一个单独的数据库运行它,因为如果需要,可以选择在不同的服务器上运行IIS站点和数据库。对于安全性/扩展性等也更好

创建数据库后,您可以使用aspnet_regsql.exe将成员资格服务安装到数据库中。它通常位于这里-c:\Windows\Microsoft.NET\Framework\\aspnet\u regsql.exe。可以作为GUI或命令行运行:

从单独的数据库运行成员资格时,还需要在web.config中配置提供程序。大致如下:

<connectionStrings>
    <remove name="LocalSqlServer" />
    <add name="MyMembershipConnectionString" 
    connectionString="Data Source=SERVER123\SQLEXPRESS;Initial Catalog=Database123;Persist Security Info=True;User ID=User123;Password=Password123" providerName="System.Data.SqlClient" />
</connectionStrings>

部分:

<roleManager defaultProvider="MySqlRoleProvider" enabled="true" 
    cacheRolesInCookie="true" cookieName=".ASPROLES" cookieTimeout="30" 
    cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All">
  <providers>
    <clear />
    <add name="MySqlRoleProvider" type="System.Web.Security.SqlRoleProvider"
        connectionStringName="MyMembershipConnectionString" applicationName="MyAppName" />
  </providers>
</roleManager>

<membership defaultProvider="MySqlMembershipProvider" userIsOnlineTimeWindow="720">
  <providers>
    <clear />
    <add name="MySqlMembershipProvider" 
         type="System.Web.Security.SqlMembershipProvider" 
         connectionStringName="MyMembershipConnectionString" 
         enablePasswordRetrieval="false" 
         enablePasswordReset="true" 
         requiresQuestionAndAnswer="false" 
         requiresUniqueEmail="true" 
         passwordFormat="Hashed" 
         minRequiredPasswordLength="8" 
         minRequiredNonalphanumericCharacters="0" 
         passwordStrengthRegularExpression="((?=.*\d)(?=.*[a-z]).{6,20})" 
         maxInvalidPasswordAttempts="5" 
         passwordAttemptWindow="30" />
  </providers>
</membership>

我已经使用类似的设置好几次了,没有问题。 如果使用db from/App_数据,则不需要执行任何web.config操作