2011-01-26 84 views
3

我在我的web.config以下defaultmembership提供商更改屬性成員資格提供編程在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(); 
相關問題