基本上我正在使用的應用程序有一堆參數,這些參數都是從一個xml配置文件控制的,該配置文件包含運行applcation(live和dev)的每臺機器的配置。我遇到的問題是,我希望能夠控制基於表單的身份驗證requiressl字段,以便在配置文件中可以指定此標誌。requiressl表單身份驗證
這應該會導致在live環境中requiressl標誌爲true,並且通過強制ssl並創建一個安全的auth cookie。對於開發環境,我不希望在所有開發機器上執行ssl。
我不想操縱web.config文件來做到這一點。我希望我的應用程序代碼讀取xml配置並相應地設置它們。
我已經嘗試使用反射器進入密封formsauthentication類,並已發現requiressl屬性只有一個get方法,沒有設置方法。
我也嘗試過實現formsauthentication配置類,無濟於事。 - 我不確定我是否正確地做到了這一點。
任何幫助尋找一個可能的解決方案,將不勝感激。
親切的問候,
Gurpreet
嘗試1:
隨後我已經試過這樣:
PropertyInfo field = typeof (FormsAuthentication).GetProperty("RequireSSL");
field.SetValue(typeof(FormsAuthentication), true, null)
我得到一個錯誤信息說 「屬性設置方法不發現「
嘗試2:解決
的typeof(FormsAuthentication).GetField( 「_ RequireSSL」,BindingFlags.Static | BindingFlags.NonPublic).SetValue(typeof(FormsAuthentication),Config.Secure);
你不想修改web.config文件的原因是什麼?該文件的主要目的之一是將其配置爲特定的環境,這正是你想要做的。 – 2010-12-14 13:59:56