Създавам STS, използвайки класовете WIF (System.IdentityModel
) в .NET 4.5. Този STS трябва да обработва токен ActAs. Успешно прототипирах клиента да изпрати токен ActAs и това води до това съобщение за грешка от страна на сървъра:
ID3265: Беше намерен елемент ActAs, но нямаше регистрирани манипулатори на токени за четене на елемент ActAs. Помислете за добавяне на валидна SecurityTokenHandlerCollection към SecurityTokenHanderCollectionManager за използване на ActAs.
Не виждам обаче начин да добавя SecurityTokenHandlerCollection
към SecurityTokenHanderCollectionManager
. Как става това?
Опитах предложеното в тази документация:
<securityTokenHandlers name="ActAs">
...
</securityTokenHandlers>
Но това води до тази грешка:
ID0005: Входната колекция „configElement.ElementInformation.Properties“ не съдържа свойство с име „ActAs“.
„Еквивалентното“ (според тази документация) заклинание, ServiceConfiguration.SecurityTokenHandlerCollectionManager["ActAs"]
е също толкова безполезно:
Необработено изключение: System.Collections.Generic.KeyNotFoundException: даденият ключ не присъства в речника. в System.Collections.Generic.Dictionary`2.get_Item(TKey ключ) в System.IdentityModel.Tokens.SecurityTokenHandlerCollectionManager.get_Item(използване на низ)
Имайте предвид, че тази документация предоставя по същество същата информация като 1, но е специално за .NET 4.5.
Как да боравя с токените ActAs?