在我的Azure Web App中,我想通過使用他們的ClaimsIdentity來模擬用戶來調用第三方API。第三方Web API允許使用基本或Kerberos,如果需要,我可以選擇切換到使用Windows集成安全性的第三方SDK。Azure Web App Web API模仿使用ClaimsIdentity的用戶
我遇到的問題是模擬位,下面是我的代碼,因爲它是。
var webUser = HttpContext.Current.User.Identity as ClaimsIdentity;
var windowsIdentity = S4UClient.UpnLogon(webUser.Claims.FirstOrDefault(x => x.Type.Equals(ClaimTypes.Upn)).Value);
using (var impersonationContext = windowsIdentity.Impersonate())
{
//make call to 3rd party Web API or SDK
}
當運行上面我得到以下錯誤:
The pipe endpoint 'net.pipe://localhost/s4u/022694f3-9fbd-422b-b4b2-312e25dae2a2' could not be found on your local machine.
一切我讀過點啓動C2WTS Windows服務,有沒有開始爲Azure的web應用程序這種服務方式?如果不是,我該如何去冒充用戶或將憑據傳遞給我的第三方api/sdk?
這可以在雲服務Web角色中完成嗎? – Alan