gpt4 book ai didi

wcf - 通过附加到请求线程的安全主体访问声明,而不是 AuthorizationContext

转载 作者:行者123 更新时间:2023-12-03 01:58:21 26 4
gpt4 key购买 nike

我正在与 Azure ACS Labs 合作他们在哪里使用 FederatedServiceCredentials对 Active Federation 的用户进行身份验证。现在我想从 WCF 服务中访问用户的声明。

根据this article ,声明由请求线程访问...任何人都可以解释或演示这意味着什么吗?

最佳答案

请求线程是在服务器上执行服务 API 的线程。从该线程(也称为您的服务 api 中),您可以访问 Thread.CurrentPrincipal.Identity。这将是一个 ClaimsIdentity,其中包含您的 STS 授予您的声明。例如:

 class MyService:IService
{
// code running on wcf server
bool AdminOnlyApi()
{
var identity = Thread.CurrentPrincipal.Identity as ClaimsIdentity;

// fail all non admin callers.
if (!identity.Claims.Exists(c=>c.ClaimType=="role" && c.Value=="Admin"))
{
throw new SecurityException("Access is denied.");
}
return True;
}
}

关于wcf - 通过附加到请求线程的安全主体访问声明,而不是 AuthorizationContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5507367/

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