jestem próby utworzenia błąd w TFS2010 przez podszywanie się pod użytkownika, ale zawszeTFS 2010 - Dlaczego podczas personifikacji pojawia się błąd "TF30063 Masz niedozwolony dostęp .."?
"TF30063 You are not authorized to access.."
raz pierwszy uwierzytelniania przy użyciu konta usługi, a następnie próbować podszywać osobne konto użytkownika. Mogę z powodzeniem tworzyć elementy pracy za pomocą konta zarówno programowo, jak i w interfejsie internetowym. Jednak gdy próbuję utworzyć element roboczy za pomocą podanego konta (w obu kierunkach), zawsze otrzymuję ten błąd. Mój kod to:
public int Save(List<KeyValuePair<string, string>> values, ticketType type,string user)
{
// get the Uri to the project collection to use
Uri tfsuri = new Uri("http://94.23.12.119:8085/tfs");
// get a reference to the team project collection (authenticate as generic service account)
using (var tfs = new TfsTeamProjectCollection(tfsuri, new System.Net.NetworkCredential("username", "password", "servername")))
{
tfs.EnsureAuthenticated();
//Now get the details of the user we want to impersonate
TeamFoundationIdentity identity = GetImpersonatedIdentity(tfsuri,tfs,user);
//Now connect as the impersonated user
using (TfsTeamProjectCollection ImpersonatedTFS = new TfsTeamProjectCollection(tfsuri, identity.Descriptor))
{
ImpersonatedTFS.EnsureAuthenticated();
var workItemStore = GetWorkItemStore(ImpersonatedTFS);
// create a new work item
WorkItem wi = new WorkItem(GetWorkItemType(type, workItemStore));
{
//Values are supplied as a KVP - Field Name/Value
foreach (KeyValuePair<string,string> kvp in values)
{
if (wi.Fields.Contains(kvp.Key))
{
wi.Fields[kvp.Key].Value = kvp.Value;
}
}
ValidationResult = wi.Validate();
}
if (ValidationResult.Count == 0)
{
wi.Save();
return wi.Id;
}
else
{
return 0;
}
}
}
}
powodzeniem dostaje personifikowanego tożsamość ale przewraca na
ImpersonatedTFS.EnsureAuthenticated();
Oba konta mają Make żądań w imieniu innych 'zestaw uprawnień.
Ile przeskoków robisz, aby dostać się do TFF? W przypadku wielu węzłów X-> Y-> Z, usługa na polu Y może być w stanie podszyć identyfikator identyfikatora dzwoniącego w polu X. Jednak nie ma prawa do przekazania tego podszywania się do usługi na innym box Z. – user957902
Tylko jeden skok, o ile mi wiadomo. – Simon