背景(這可能從我之前詢問的關於DNOA的衆多問題中可以看出):我正在開發一個運行在我的僱主Intranet上的Web應用程序門戶。但是,由於這是一個內聯網,所有各種依賴方(以及提供商)的url都是這樣的:http://servername/path
;特別是缺少一個TLD。避免dotnetopenauth網址中的「必須包含句點」限制
這段代碼在DotNetOpenAuth(UntrustedWebRequestHandler.IsUriAllowable(Uri uri)
)進行以下檢查:
if (!uri.Host.Contains(".")) {
return failsUnlessWhitelisted("it does not contain a period in the host name.");
}
顯然,因爲我所有的RP的都是簡單的,沒有頂級域名全部失敗該檢查服務器名稱。 現在,我意識到我可以將它們全部添加到web.config白名單(我已經嘗試了幾次,它按預期工作),但看到作爲新的服務器將動態添加我不認爲這是一個理想解決方案
所以我的問題是:我應該試圖動態修改web.config? (我在這方面進行的初步研究表明這將是一個痛苦) 或者,有沒有辦法以編程方式設置白名單?