Выполнить ISSOTicket.IssueTicket() может любой пользователь. Для этого не нужно быть authenticated. Полученный ticket может быть сохранён и передан другим приложениям. Собственно, для этого ticket и нужен. А вот RedeemTicket() может вызывать только authenticated user! Обратим бнимание, что SOAP Adapter, например, в соответствии с этим, будет использовать SSO только если выбрать Аuthentication Type - Basic или Digest; для anonymous users SSO Tickets теряют смысл в плане security - ticket представляет sensitive information, не хотим же мы показывать ее анонимам.
Аналогично работают HTTP и WSE Adapters. Касательно NTLM (для SOAP), Kerberos (для HTTP) и Integrated (для WSE) - пока мне сказать нечего. Почему их нельзя использовать для SSO authentication я не знаю.
Вот что по этому поводу имеет сказать
Tomas Restrepo (from BTS newsgroup):
Hi Oleg,
That's a good question. My guess is that [...] the idea here is that you'd only use NTLM and Kerberos if you wanted to logon to the remote erver using the identity of the running BizTalk Application Host, however, that, by itself, doesn't seem very useful (particularly given that the requirement to use integrated security is imposed by the server side, not the biztalk side, usually).
It might be, however, a very simple technological problem... If the HTTP adapter uses the .NET libraries for this, I believe the support in them for integrated security doesn't allow you to use NTLM/Kerberos authentication with alternate credentials [1](and only those of the running thread, instead), but I don't know the implementation details here, so I might be
wrong.
[1] This would be a limitation of the .NET implementation, which probably uses SSPI underneath for the integrated authentication, and SSPI most certainly allows you to use alternate credentials.