Логика, которая обрабатывает белый и черный список, выглядит примерно так:
DotNetOpenId / DotNetOpenAuth уже обладает некоторой интуицией в отношении некоторых безопасных и небезопасных имен хостов. Таким образом, некоторые из них будут заблокированы и разрешены другим без установки каких-либо параметров в этих списках. Списки должны переопределить это поведение.
- DNOA обнаруживает неявно запрещенное имя хоста. Запретить - если только он не находится в белом списке, в этом случае немедленно пропустите его.
- В противном случае имя хоста выглядит безопасным, но если оно находится в черном списке, откажитесь.
Хост, который находится в черном списке, (почти) никогда не сможет пройти (за исключением случаев, когда он выглядит небезопасным в любом случае И он находится в белом списке).
Если вы хотите занести в черный список все, кроме определенного набора хостов, я думаю, что вам лучше всего использовать только черный список и выполнить регулярное выражение "не", соответствующее :
<untrustedWebRequest>
<blacklistHostsRegex>
<add name="^(?!www.mysite.ca|www.mysite.com|devel.mysite.com)$" />
</blacklistHostsRegex>
</untrustedWebRequest>
Это кажется немного запутанным. Но это будет работать в нынешних версиях DotNetOpenId / DotNetOpenAuth. И в будущем, Я исправлю это , чтобы оно было гораздо более очевидным.