在web中requiresQuestionAndAnswer设置为false.但RequiresQuestionAndA
本文关键字:false RequiresQuestionAndA 设置 web requiresQuestionAndAnswer | 更新日期: 2023-09-27 17:50:50
在一个ASP.net web应用程序中,我在web.config中定义了以下成员资格提供程序:
<membership>
<providers>
<add connectionStringName="MyServer" name="MyServer" type="System.Web.Security.SqlMembershipProvider"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
enablePasswordRetrieval="false" />
</providers>
</membership>
当我在调试器中运行应用程序时,属性Membership.Provider.RequiresQuestionAndAnswer
是true
。
为什么?我怎样才能解决这个问题呢?
Update:在运行时,Membership.Providers
集合包含两个几乎相同的Provider实例。不同之处在于:
- 第一个提供者有Name=="AspNetSqlMembershipProvider"和RequiresQuestionAndAnswer==true
- 第二个提供者有Name=="MyServer"和RequiresQuestionAndAnswer==false。
现在试着找出第一个是从哪里来的
根据后面的问题,神秘提供者是在一个较低级别的配置文件中定义的,名为machine。配置,它是在计算机上运行的所有asp.net站点的服务器级父配置文件。在MSDN页面查看asp.net配置层次结构的更多细节
解决我的问题是在web中指定。配置:
<membership defaultProvider="MyServer>
在运行时有一个"额外的"Provider的原因是它是在我的机器中定义的。配置文件。这里是如何找到你的。
修复功劳归@meidan-alon,根本原因归@ken-egozi:)