gpt4 book ai didi

c# - 如何处理 WIF 4.5 中的 ActAs token ?

转载 作者:太空宇宙 更新时间:2023-11-03 13:48:02 24 4
gpt4 key购买 nike

我正在使用 .NET 4.5 中的 WIF (System.IdentityModel) 类创建 STS。此 STS 需要处理 ActAs token 。我已成功创建客户端原型(prototype)以发送 ActAs token ,这导致服务器端出现此错误消息:

ID3265: ActAs element was found, but there was no token handlers registered to read a ActAs element. Consider adding a valid SecurityTokenHandlerCollection to the SecurityTokenHanderCollectionManager for ActAs usage.

但是,我认为没有办法将 SecurityTokenHandlerCollection 添加到 SecurityTokenHanderCollectionManager。这是怎么做到的?

我已经尝试了 this 中的建议文档:

<securityTokenHandlers name="ActAs">
...
</securityTokenHandlers>

但这会导致这个错误:

ID0005: The input 'configElement.ElementInformation.Properties' collection does not contain a property named 'ActAs'.

“等效”(根据该文档)咒语 ServiceConfiguration.SecurityTokenHandlerCollectionManager["ActAs"] 同样没有帮助:

Unhandled Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at System.IdentityModel.Tokens.SecurityTokenHandlerCollectionManager.get_Item(String usage)

请注意 this文档提供与 1 基本相同的信息,但专门针对 .NET 4.5。

我如何处理 ActAs token ?

最佳答案

SecurityTokenHandlerCollectionManager 上的索引器不是只读的:

// Summary:
// Returns the security token handler collection for the specified usage.
//
// Parameters:
// usage:
// The usage name for the token handler collection.
//
// Returns:
// The token handler collection associated with the specified usage.
public SecurityTokenHandlerCollection this[string usage] { get; set; }

只需将给定 key 的 SecurityTokenHandlerCollection 设置为所需的集合:

SecurityTokenHandlerCollectionManager["ActAs"] = new SecurityTokenHandlerCollection();
// or:
SecurityTokenHandlerCollectionManager[SecurityTokenHandlerCollectionManager.Usage.ActAs] = new SecurityTokenHandlerCollection();

关于c# - 如何处理 WIF 4.5 中的 ActAs token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14611773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com