繁体   English   中英

用于WebApi的ASP .Net中的Windows身份验证

[英]Windows Authentication in ASP .Net for WebApi

我编写了一个简单的ASP.Net WebAPI,可以使用rest调用从本地tfs服务器下载文件。 问题是当我从用户帐户(公司域)连接到此站点,并将webRequest中的凭据设置为CredentialsCache.DefaultCredentials时,由于我是tfs项目上的vlid用户,因此工作正常。 现在,我们团队中的其他人希望使用相同的webAPI,当他们访问相同的URL时,我可以看到它的凭据再次被用于下载文件。 我怀疑这是因为在控制器代码中使用了CredentialsCache.DefaultCredentials,但是我无法找到一种方法,可以使用该客户端的身份用于下载请求。 我的问题是,是否有一种方法可以提取可用于身份验证的远程用户的Windows身份或网络凭据(在同一域中)。 很抱歉,如果这是一个DUP,但我尚未找到针对我问题的目标答案。 示例代码粘贴在下面。

var request = (HttpWebRequest)WebRequest.Create(uri);

        request.Credentials = CredentialCache.DefaultNetworkCredentials;

        try
        {
            var webResponse = request.GetResponse();
            var webStream = webResponse.GetResponseStream();
            if (webStream != null)
            {
                var objReader = new StreamReader(webStream);
                return objReader.ReadToEnd()
            }
        }

我不知道我是否正确理解您,但我认为假冒是您要寻找的东西:

http://msdn.microsoft.com/en-us/library/xh507fc5.ASPX

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM