我正在使用 ASP.NET Membership (SQL Server) Provider 来管理我的用户。对于普通用户,他们需要使用问答方式来重置他们的密码,所以requiresQuestionAndAnswer
标志true
在web.config
. 但是在管理部分(位于网站的子文件夹中),我需要启用密码重置而不需要他输入问题的答案。所以我尝试web.config
在 Admin 子文件夹中添加一个单独的文件夹,期望它默认继承根文件夹中的所有内容,然后对其应用以下转换,用于调试和发布配置:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<membership>
<providers>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" requiresQuestionAndAnswer="false" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
</providers>
</membership>
</system.web>
</configuration>
Admin 子文件夹本身是空的web.config
,因为它只包含
<?xml version="1.0"?><configuration />
. 当然,我希望它能够从根文件夹的web.config
. 但这似乎不起作用。当我尝试调用无参数重载时ResetPassword()
,Membership 方法仍然给我错误。Value cannot be null
我究竟做错了什么?