我正在使用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身份验证。