就在2天前,我在ASP .NET中学习了登录控件和表单身份验证。
在此之前,我曾经创建了自己的数据库我的用户表和我自己的逻辑,用于使用会话和sql服务器登录和注销。
新方法很酷,因为它允许我比以前更快地完成工作,但是当我使用这些登录并创建用户控件时,默认数据库ASPNETDB.MDF保存在App_Data文件夹中。
由于我使用单个数据库存储有关我网站的所有内容,是否可以将所有用户信息存储在我自己的数据库和我自己的表中?
我希望新控件的强大功能具有我自己的灵活性。
答案 0 :(得分:5)
您只需在web.config中添加SQL membership provider并将其指向正确的数据库,下面的示例摘录。
<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>
此处还有关于如何Create the Membership Schema in SQL Server的链接。
答案 1 :(得分:0)
如果您想使用自己的表而不是微软指定的表,则需要使用自定义成员资格提供程序this article将向您展示如何执行此操作。