2011-01-26 1 views
3

У меня есть следующий провайдер defaultmembership в моем web.configИзменить атрибут поставщика членства Программным В Web.Config

<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" passwordFormat="Hashed" /> 

Я пытаюсь обновить EnablePasswordReset от ложной к истинной программно, но я борюсь ... Это, насколько я понял!

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

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

// Now what? 

Теперь я не могу понять, как получить атрибут и обновить его? любые подсказки/примеры получили высокую оценку.

ответ

0

Я бы рекомендовал создать пользовательский поставщик членства и использовать другой источник для настройки. Изменение настроек может быть опасным; Я предполагаю, что это пользовательская функция, позволяющая администратору включать или выключать ее?

Если вы можете создать пользовательский поставщик членства, который извлекает информацию из базы данных или XML-файла, а затем разрешает эту функцию или нет. Не уверен точно, где разместить этот код, это будет зависеть от того, используете ли вы элементы управления ASP.NET или используете ли вы API ...

HTH.

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();