我需要在两个服务调用中传播当前用户的 Windows 身份。
服务 A(在集成身份验证下运行)调用服务 B(也在集成身份验证下运行)。我需要识别用于在服务 B 的代码中调用服务 A 的用户身份。
我知道这可以使用委托来实现,方法是在服务 A 代码中模拟用户,然后从模拟代码中调用服务 B。
但是,我只想流动身份而不是冒充用户。没有冒名顶替可以吗?
我需要在两个服务调用中传播当前用户的 Windows 身份。
服务 A(在集成身份验证下运行)调用服务 B(也在集成身份验证下运行)。我需要识别用于在服务 B 的代码中调用服务 A 的用户身份。
我知道这可以使用委托来实现,方法是在服务 A 代码中模拟用户,然后从模拟代码中调用服务 B。
但是,我只想流动身份而不是冒充用户。没有冒名顶替可以吗?
使用 ServiceSecurityontext.Current.PrimaryIdentity.Name 获取经过身份验证的用户
将此添加为下游服务请求中的标头或字段
我认为您正在寻找称为“身份”的模拟级别。有关 WCF 中不同模拟级别的说明,请参阅本文。