0

我已经创建了我的大学网站,要求会员。 我从Visual Studio中使用Web管理工具和创建的用户和Rules.When我测试了从Visual Studio它工作正常。 Web管理工具自动创建该成员保存数据App_Data文件夹命名ASPNETDB.MDF SQL数据库。 我的问题是,当我在IIS上添加网站时数据库会工作吗?我必须创建一个sql server数据库并添加一个连接吗?请回答我。这真的很重要。 我只想要一个非常基本的会员资格。Web管理工具数据库,IIS

回答

0

你可以使用db/from/App_Data来解释这个答案:
ASP.NET: How to deploy App_Data to webhost? - 但这取决于你的服务器设置。

当使用会员我的偏好是从任一SQL/SQL Express的一个单独的数据库运行它,然后作为有选择如果需要在不同的服务器上运行的IIS网站和数据库。同样出于安全性更好/缩放等

一旦数据库被创建,您可以使用aspnet_regsql.exe的,以会员服务安装到分贝。它通常位于此处 - c:\ Windows \ Microsoft.NET \ Framework \ < versionNumber> \ aspnet_regsql.exe。可以运行的GUI或命令行:
http://msdn.microsoft.com/en-us/library/x28wfk74.aspx

当从一个单独运行的会员数据库,你还需要配置在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> 

在< system.web>部分:

<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从/的App_Data你不需要做任何的Web.config东西