我的web.config
中有以下defaultmembership提供程序<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" passwordFormat="Hashed" />
我正在尝试以编程方式将 enablePasswordReset 从 false 更新为 true ,但我正在努力..这就是我的目标!< / p>
ConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
var section = (MembershipSection)config.GetSection("system.web/membership");
var defaultProvider = section.DefaultProvider;
var providerSettings = section.Providers[defaultProvider];
// Now what?
现在我无法弄清楚如何获取属性并更新它?任何提示/例子都非常感谢。
答案 0 :(得分: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();
答案 1 :(得分:0)
我建议您创建自定义成员资格提供程序并使用其他来源进行设置。更改设置可能很危险;我认为这是一个用户曝光的功能,允许管理员打开或关闭它?
如果您可以创建自定义成员资格提供程序,从数据库或XML文件中提取信息,然后允许该功能。不确定放置此代码的确切位置,取决于您是使用ASP.NET控件,还是使用API自定义...
HTH。