Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将AZROLESLib与C#一起在办公网络上使用_C#_Asp.net Web Api_.net 4.5.2 - Fatal编程技术网

将AZROLESLib与C#一起在办公网络上使用

将AZROLESLib与C#一起在办公网络上使用,c#,asp.net-web-api,.net-4.5.2,C#,Asp.net Web Api,.net 4.5.2,我正在将一些旧的Web服务转换为Web API,其中包括从AzMan获取信息的AZROLESLib实用程序。当我打以下电话时: _applicationStore.Initialize(0, authorizationStore, null); 我收到以下例外情况: 访问被拒绝。(HRESULT异常:0x80070005(E_访问被拒绝)) 以前的版本使用以下方法来解决此问题: Service.Credentials = System.Net.CredentialCache.DefaultCr

我正在将一些旧的Web服务转换为Web API,其中包括从AzMan获取信息的AZROLESLib实用程序。当我打以下电话时:

_applicationStore.Initialize(0, authorizationStore, null);
我收到以下例外情况:

访问被拒绝。(HRESULT异常:0x80070005(E_访问被拒绝))

以前的版本使用以下方法来解决此问题:

Service.Credentials = System.Net.CredentialCache.DefaultCredentials;
我需要做什么才能访问授权存储?我在网络位置和本地PC上都试过,但都有相同的授权问题。我在一个由公司提供网络安全的办公网络上,因此对文件的访问仅限于用户。我相信这是试图以IIS用户的身份执行任务,而不是使用我的用户。是否有任何方法可以确保它将使用当前用户的凭据而不是
IIS APPPOOL\\ASP.NET v4.0

编辑


我能够在html页面和对web API的javascript调用的上下文中使用它,因此当我从另一个web应用程序(也使用Windows身份验证)调用它时,问题就出现了。显然,当从web API调用函数时,另一个web应用程序正在使用应用程序池凭据,而不是当前用户的登录凭据。

第二个web应用程序无法使用该凭据,因为您试图在网络上使用模拟上下文两次。这就是众所周知的“双跳”问题。请在此处阅读更多信息:

简而言之,如果您使用NTLM(windows集成身份验证)从A到B进行身份验证,B将无法“重用”身份验证令牌到联系点C