如何获取自己的跨域ClaimsIdentity?

问题描述 投票:0回答:0

自 .NET 4.5 以来,身份管理通过

ClaimsPrincipal
类进行,该类具有一个
Identities
属性,该属性通常填充一个
ClaimsIdentity
代表当前活动用户。在 Windows 桌面应用程序上,这通常包含一个
WindowsIdentity
引用当前登录的用户。

在我的应用程序中,我以自己的身份登录(“WORKDOMAIN\masonwheeler”),但我需要访问令牌才能访问存储在另一个域(我称为“SERVER\mwheeler”)的服务器上的资源。不过,相关类的 MSDN 文档并没有特别清楚地说明如何获取新的标识对象。例如,在上面链接的

WindowsIdentity
页面中,它显示了四种获取
WindowsIdentity
对象的不同方法,其中没有一种涉及从某种 UI 提示或通过从 Windows 检索存储的凭据来输入用户凭据。

假设我拥有“SERVER\mwheeler”帐户的合法访问权限和适当的凭据,我该如何为该身份获得第二个

ClaimsIdentity
并将其添加到
Thread.CurrentPrincipal
上的身份列表?

c# claims-based-identity
© www.soinside.com 2019 - 2024. All rights reserved.