在Web.config中以编程方式更改成员资格提供程序的属性

3
我在web.config中有以下默认的会员提供程序。
<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" passwordFormat="Hashed" />

我正在尝试以编程方式将enablePasswordResetfalse更新为true,但遇到了困难... 这是我所做的最远进展!

ConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
var section = (MembershipSection)config.GetSection("system.web/membership");

var defaultProvider = section.DefaultProvider;
var providerSettings = section.Providers[defaultProvider];

// Now what?

现在我无法弄清如何获取属性并更新它?非常感谢任何提示/示例。

2个回答

4
我搞清楚了。
        var config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
        var section = (MembershipSection)config.GetSection("system.web/membership");

        var defaultProvider = section.DefaultProvider;
        var providerSettings = section.Providers[defaultProvider];
        providerSettings.Parameters.Set("enablePasswordReset", "true");
        config.Save();

0
我建议创建一个自定义的成员资格提供程序,并使用另一个来源进行设置。更改设置可能是危险的;我假设这是一个用户暴露的功能,允许管理员打开或关闭它?
如果您可以创建一个自定义的成员资格提供程序,从数据库或XML文件中提取信息,然后允许启用或禁用该功能。不确定确切的代码放在哪里,这将取决于您是否正在使用ASP.NET控件,还是自定义使用API...
希望对您有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接