我必须实现以下场景: ASP .NET webapp 1. 用户登录 2. 使用登录用户的凭据,我必须从 Sharepoint 站点下载一些文件;
环境: - 现在 web.config 设置为模拟和 Windows 身份验证。上,但还必须使用基本身份验证 - 我使用 System.Net.WebClient 使用 Sharepoint 站点的 Web 服务下载 Sharepoint 文件,而这个 WebClient 需要一个 Credential 对象,这就是我需要 NetworkCredential 对象的原因。
PS:CredentialCache.DefaultCredentials 和 CredentialCache.DefaultNetworkCredentials 返回一个用户名和密码为空的凭据,所以我不能用它来访问 Sharpeoint 站点。获取 System.Security.Principal.WindowsIdentity.GetCurrent() 或 System.Web.HttpContext.Current.User.Identity 也不适合,因为我只能通过这种方式获取用户名,并且为了实例化 NetworkCredential 我需要一个 uname和 pw。