就在 2 天前,我开始学习 ASP .NET 中的登录控件和表单身份验证。
在此之前,我曾经使用会话和 sql server 创建自己的数据库、用户表和自己的登录和注销逻辑。
新方法很酷,因为它允许我比以前更快地完成工作,但是当我使用这些登录并创建用户控件时,默认数据库 ASPNETDB.MDF 保存在 App_Data 文件夹中。
由于我使用单个数据库来存储有关我的站点的所有内容,是否可以将所有用户信息存储在我自己的数据库和我自己的表中?
我想要新控件的强大功能和我自己的灵活性。
就在 2 天前,我开始学习 ASP .NET 中的登录控件和表单身份验证。
在此之前,我曾经使用会话和 sql server 创建自己的数据库、用户表和自己的登录和注销逻辑。
新方法很酷,因为它允许我比以前更快地完成工作,但是当我使用这些登录并创建用户控件时,默认数据库 ASPNETDB.MDF 保存在 App_Data 文件夹中。
由于我使用单个数据库来存储有关我的站点的所有内容,是否可以将所有用户信息存储在我自己的数据库和我自己的表中?
我想要新控件的强大功能和我自己的灵活性。
您只需在 web.config 中添加一个SQL 成员资格提供程序并将其指向正确的数据库,示例摘录如下。
<connectionStrings>
<remove name="LocalSqlServer"/>
<clear/>
<add name="LocalSqlServer" connectionString="Data Source=localhost;Initial Catalog=MYDBNAME;User ID=foo;Password=bar" providerName="System.Data.SqlClient"/>
</connectionStrings>
<membership>
<providers>
<remove name="AspNetSqlMembershipProvider"/>
<add connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="3" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</membership>
这里还有一个关于如何在 SQL Server 中创建成员资格架构的链接。
如果您想使用自己的表格,而不是微软规定的表格,您将需要使用自定义成员资格提供程序,本文将向您展示如何做到这一点。