我为我的大学创建了一个需要会员资格的网站。 我使用了Visual Studio中的Web管理工具并创建了用户和规则。当我从Visual Studio进行测试时,它工作正常。 Web管理工具在App_Data文件夹中自动创建一个名为ASPNETDB.MDF的SQL数据库,用于保存成员资格数据。 我的问题是,当我在IIS上添加网站时数据库是否可以工作?我是否必须创建一个sql server数据库并添加连接?请回答我。这非常重要。 我只想要一个非常基本的会员资格。
答案 0 :(得分:0)
您可以使用db from / App_Data,如本答案中所述:
ASP.NET: How to deploy App_Data to webhost? - 但这取决于您的服务器设置。
使用Membership时,我的偏好是从SQL / SQL Express中的单独数据库运行它,因为如果需要,可以选择在不同服务器上运行IIS站点和db。也更好的安全/扩展等。
创建db后,您可以使用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>
in&lt; System.Web&gt;部分:
<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>
我已经使用了类似的设置几次没有任何问题。 如果在/ App_Data中使用db,则不需要执行任何web.config操作