使用了前面的,我们可能会发现一些地方不如我们的意,比如:数据库连接名不是我们想要的,创建用户时密码必须限定一个非字母数字字符,创建用户时必须输入找回密码的问题和答案……要改变这些,就得通过配置文件来改。
打开 machine.config(常常位于类似 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 的地方),可以找到类似如下代码:
我们发现原来上面的规定都是在这里定义的,我们把这段代码拷贝到应用程序的 web.config 中,然后更改相应的值,就可以配置我们的成员资格了。
注意:拷贝上面的代码后可能需要添加 <remove name="AspNetSqlMembershipProvider"/> 以及 XML 结束标签(</providers> 等)。
说说 applicationName,一般来说每个应用程序都应使用不同的 applicationName 属性值,除非各个应用程序之间要共享用户(前提是共用一个成员资格数据库)。
说说 passwordFormat,可选值有:Clear、Encrypted、Hashed。
membership 还有个属性 defaultProvider,它告诉登录控件等使用哪个成员资格提供程序,当我们提供了多个 provider 时,指明该属性值,以明确使用哪个 provider。登录控件等有个属性是 ProviderName,它能够覆盖 defaultProvider 值,但绝大多数情况下,一个应用程序都是使用一个 provider,所以不需要使用 ProviderName,明确 defaultProvider 就可。