背景(これまでDNOAについて尋ねてきた多数の質問からすでに明らかかもしれません):私は雇用主のイントラネットで実行されているWebアプリケーションポータルに取り組んでいます。ただし、これはイントラネットであるため、さまざまな依存関係者(およびプロバイダー)のすべてに、次のようなURLがありますhttp://servername/path
。特にTLDが欠落しています。
DotNetOpenAuth(UntrustedWebRequestHandler.IsUriAllowable(Uri uri)
)のこのコードは、次のチェックを実行します。
if (!uri.Host.Contains(".")) {
return failsUnlessWhitelisted("it does not contain a period in the host name.");
}
明らかに、私のRPはすべてTLDのない単なるサーバー名であるため、すべてこのチェックに失敗します。今、私はそれらすべてをweb.configホワイトリストに追加できることに気付きました(これはいくつか試しましたが、期待どおりに機能します)が、新しいサーバーが動的に追加されるため、これは理想的ではありません解決。
だから私の質問は:web.configを動的に変更しようとすべきですか?(これについて私が行った予備調査では、それは苦痛であることが示されています)または、プログラムでホワイトリストを設定する方法はありますか?