将Windows身份验证用户的凭据传递给Web客户端

时间:2016-05-24 10:34:55

标签: c# asp.net-mvc webclient

我正在使用C#和MVC开发Intranet应用程序。我已启用Windows身份验证以验证我的用户身份。其中一个要求是允许用户从同一域上的SharePoint服务器下载文件。从我的本地计算机上来说没问题,但是当我在同一个域上再次在实时服务器上发布时,我收到错误401 unauthorized我的原始代码是

byte[] fileBytes = await client.DownloadDataTaskAsync(fileUri); 
var response = new FileContentResult(fileBytes, "application/octet-stream"); 
return response; 

现在阅读后我发现CredentialCache所以我已相应更改了我的代码

CredentialCache cc = new CredentialCache();
cc.Add(
    new Uri(fileUri), 
    "NTLM", 
    new NetworkCredential("username", "pass", "domain")
);
client.Credentials = cc;

我无法弄清楚如何获取密码并将其传递给NetworkCredential。所以我的问题是如何获取并将密码传递给NetworkCredential,因为我不会将其存储在任何地方,因为用户经过了Windows身份验证。

0 个答案:

没有答案