【发布时间】:2015-04-30 20:41:32
【问题描述】:
我正在创建一个 Web 应用程序,我的团队中的用户将使用它 对 TFS 工作项进行更改。我正在为此使用 TFS API..
为了访问 TFS 服务器,我在 Web 应用程序中使用了我的凭据。
现在,每次有人使用该应用程序并对 TFS 工作项进行更改时,它都会显示 好像我在应用程序中使用了我的凭据后对这些项目进行了更改。
有没有一种方法可以使用登录我的应用程序的人的凭据在 TFS 上显示为进行更改的人?
【问题讨论】:
-
让网络应用程序使用 Windows 身份验证并在 API 调用中模拟该用户? (不太了解 TFS API 或您的设置,但假设您使用的是 Windows 帐户,您应该能够传递凭据)
-
你试过
HttpContext.Current.User吗? -
你为什么不使用 TFS 自带的 web 界面你不是在这里重新发明轮子..?
-
@DJ KRAZE .. 是的,我知道 .. 我们团队中有一些复杂的要求不允许我使用 TFS,经过深思熟虑后,我想出了这个解决方案。
-
你首先让我感到困惑你说你正在使用 TFS 现在你说你不能使用它.. 听起来如果你正在使用模拟比这可能是一个主要问题.. 如果您在试图弄清楚谁在做什么时遇到问题,您应该能够获得最终用户域名.. 您是否熟悉
var userName = Request.ServerVariables["LOGON_USER"];如果不熟悉,您可以使用var pc = new PrincipalContext(ContextType.Domain); var userFind = UserPrincipal.FindByIdentity(pc, IdentityType.SamAccountName, userName);