上一篇文章讲述了创建一个应用成员资格,角色管理,配置文件功能的数据库。
配置好数据库后现在编辑配置文件与我们的Web工程项目进行关联。
如果没有配置是系统是有配置的配置文件的,可以查看系统的配置文件的内容,路径是:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config中machine.config文件。
打开些文件可以看到系统有默认的配置文件值。
这里我们不记得的话可以将其复制到我们的配置文件里然后稍微做一点修改就可以了。
<!--defaultProvider:提供程序的名称。默认为AspNetSqlMembershipProvider.如果有多个Provider的话,指定一个默认值是明智的做法。
connectionStringName:Membership数据库的连接名称
enablePasswordRetrieval:指定当前成员资格提供程序是否配置为允许用户检索密码
enablePasswordReset:指定当前成员资格提供程序是否配置为允许用户重置密码
requiresQuestionAndAnswer:指示默认成员资格提供程序是否要求用户在进行密码重置和检索时回答密码提示问题
applicationName:应用程序名称
requiresUniqueEmail:指示成员资格程序是否配置为要求每个用户具有唯一的电子邮件地址
passwordFormat:指示成员资格数据存储密码的格式。值可选Clear,Encrypted,Hashed.
maxInvalidPasswordAttempts:锁定成员资格用户前允许的无效密码或无效密码提示问题答案尝试次数
minRequiredPasswordLength:密码所要求的最小长度
minRequiredNonalphanumericCharacters:有效密码中必须包含的最少特殊字符数
passwordAttemptWindow:在锁定成员资格用户之前允许的最大无效密码或无效密码提示问题答案尝试次数的分钟数。这是为了
防止不明来源反复尝试猜测成员资格用户的密码或密码提示问题答案的额外措施。
passwordStrengthRegularExpression:计算密码的正则表达式
-->
<membership defaultProvider="CustomSqlMembershipProvider">
<providers>
<add name="CustomSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="connstr"
enablePasswordRetrieval="false" enablePasswordReset="true"
requiresQuestionAndAnswer="false" applicationName="/"
requiresUniqueEmail="true" passwordFormat="Hashed"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
passwordStrengthRegularExpression=""/>
</providers>
</membership>
<profile defaultProvider="CustomSqlProfileProvider">
<providers>
<add name="CustomSqlProfileProvider"
connectionStringName="connstr" applicationName="/"
type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</profile>
<roleManager defaultProvider="CustomSqlRoleProvider">
<providers>
<add name="CustomSqlRoleProvider" connectionStringName="connstr" applicationName="/"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add name="CustomWindowsTokenRoleProvider" applicationName="/"
type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
设置了默认的提供程序,把连接数据库的字符串修改成自己在配置文件里的值。
这里可以要注意自己的使用版本的问题。如果版本不对可以出现问题。