Я пытаюсь включить сквозную проверку подлинности или олицетворение на веб-сайте ASP.NET, который использует API TFS2010.
У меня это работает правильно с Cassini, однако с IIS 7.5 (Windows 7) что-тоидет не так.
Я нашел эту запись в блоге на эту тему и попробовал следующее:
private static void Test()
{
TfsTeamProjectCollection baseUserTpcConnection =
new TfsTeamProjectCollection(new Uri(Settings.TfsServer));
// Fails as 'baseUserTpcConnection' isn't authenticated
IIdentityManagementService ims =
baseUserTpcConnection.GetService<IIdentityManagementService>();
// Read out the identity of the user we want to impersonate
TeamFoundationIdentity identity = ims.ReadIdentity(
IdentitySearchFactor.AccountName,
HttpContext.Current.User.Identity.Name,
MembershipQuery.None,
ReadIdentityOptions.None);
TfsTeamProjectCollection impersonatedTpcConnection = new
TfsTeamProjectCollection(new Uri(Settings.TfsServer),
identity.Descriptor);
}
Когда я использую Cassini, ничего не требуется, кроме
collection = new TfsTeamProjectCollection(new Uri(server));
Я включил настройки web.config (и установил модуль проверки подлинности Windows):
<authentication mode="Windows"/>
<identity impersonate="true" />
Есть ли что-то очевидное, что я пропустил?