首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TFS2012 /IS7.5和Windows授权

TFS2012 /IS7.5和Windows授权
EN

Stack Overflow用户
提问于 2012-09-19 16:52:58
回答 1查看 794关注 0票数 0

我开发了网络应用程序,它与TFS2012合作。在我的本地机器中,它可以正常工作,但是当我在服务器上部署时,我会得到以下异常:

WebException:远程服务器返回一个错误:(401)未经授权。+6440920 Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.SendRequestAndGetResponse(HttpWebRequest webRequest,WebException& webException) +195

我连接到TFS代码:

代码语言:javascript
复制
            _collection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://xxx/tfs/TestPrjects/"));
            _collection.EnsureAuthenticated();
            _store = _collection.GetService<WorkItemStore>();

我的web-config:

代码语言:javascript
复制
<system.web>
  <customErrors mode="Off"></customErrors>
  <authentication mode="Windows"/>
  ...
<system.web>

在ISS中,我激活Windows授权:

我的错误在哪里?

EN

回答 1

Stack Overflow用户

发布于 2012-09-24 03:52:30

用于访问TFS的详细信息是不正确的。

它在本地机器上工作的原因是,who服务器与您一样运行,后者有权访问TFS。在IIS服务器上,它以应用程序池用户的身份运行,没有访问权限。

潜在解决方案

以有权访问TFS (或授予当前用户访问权限)的用户身份运行应用程序池

这对于只读访问是可以的,但是如果您正在回写项目,您可能不想沿着这条路线走下去。

启用委托,因此连接到TFS的代码作为当前通过身份验证的windows用户运行,这要困难得多,而且只在internet中使用。Firefox用户可以更改设置,Chrome用户需要使用命令行开关启动chrome。

围绕使用TFS的代码包装using(WindowsIdentity.GetCurrent().Impersonate()) {},并确保使用CredentialCache.DefaultNetworkCredentials连接到TFS。

使用TFS ,调皮,使用服务器而不是客户机api。服务器API直接写入数据库,不需要模拟用户。我非常怀疑这是一个支持的路径,您将不会在其中找到太多的信息。但是,它仍然需要以访问db的用户的身份运行(就像选项1一样,但支持作为windows创作用户的更新)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12499340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档