private TeamFoundationIdentity ResolveIdentityInternal(
     string id,
     MembershipQuery queryMembership,
     ReadIdentityOptions readIdentityOptions,
     IdentitySearchFactor searchFactor)
 {
     id = id.Trim();
     try
     {
         TeamFoundationIdentity resolvedId = m_identityManagement.ReadIdentity(searchFactor, id, queryMembership, readIdentityOptions);
         if (null == resolvedId)
         {
             resolvedId = ADSearchAssistResolveIdentityInternal(id, queryMembership, readIdentityOptions);
         }
         return(resolvedId);
     }
     catch (System.NotSupportedException notSupportedEx)
     {
         if (notSupportedEx.Message.Contains(searchFactor.ToString()) &&
             searchFactor == IdentitySearchFactor.DisplayName)
         {
             return(ADSearchAssistResolveIdentityInternal(id, queryMembership, readIdentityOptions));
         }
         else
         {
             throw;
         }
     }
 }
Esempio n. 2
0
 public Microsoft.TeamFoundation.Framework.Client.TeamFoundationIdentity[] ReadIdentities(
     Microsoft.TeamFoundation.Framework.Client.IdentityDescriptor[] descriptors,
     Microsoft.TeamFoundation.Framework.Common.MembershipQuery queryMembership,
     ReadIdentityOptions readOptions)
 {
     return(NullIdentities);
 }
        private TeamFoundationIdentity ResolveIdentity(
            string id,
            MembershipQuery queryMembership,
            ReadIdentityOptions readIdentityOptions,
            IdentitySearchFactor searchFactor)
        {
            TraceManager.TraceInformation("Resolving Identity: {0}", id);
            TeamFoundationIdentity i = ResolveIdentityInternal(id, queryMembership, readIdentityOptions, searchFactor);

            if (i == null)
            {
                throw new IdentityUnresolvedException(
                          string.Format("Identity '{0}' cannot be resolved", id ?? string.Empty));
            }

            IdentityType type = Identity.GetType(i.Descriptor.IdentityType, i.IsContainer);

            if (type == IdentityType.InvalidIdentity)
            {
                throw new IdentityUnresolvedException(
                          string.Format("Searching '{0}' returned invalid identity.", id ?? string.Empty));
            }

            return(i);
        }
        private TeamFoundationIdentity ADSearchAssistResolveIdentityInternal(
            string id,
            MembershipQuery queryMembership,
            ReadIdentityOptions readIdentityOptions)
        {
            /*
             * obsoleting the usage of m_userIdCache to by-pass the TFS user idenitity scalability issue
             *
             * if (null == m_userIdCache)
             * {
             *  return null;
             * }
             * string accountName = m_userIdCache.FindAccountName(id);
             *
             */
            string accountName = ADUserSearcher.GetAccountName(id);

            if (string.IsNullOrEmpty(accountName))
            {
                return(null);
            }
            else
            {
                return(m_identityManagement.ReadIdentity(IdentitySearchFactor.AccountName, accountName, queryMembership, readIdentityOptions));
            }
        }
 public TeamFoundationIdentity ReadIdentity(IdentitySearchFactor searchFactor, string searchFactorValue,
                                            MembershipQuery queryMembership, ReadIdentityOptions readOptions)
 {
     throw new NotImplementedException();
 }
 public TeamFoundationIdentity[][] ReadIdentities(TeamFoundation.Framework.Common.IdentitySearchFactor searchFactor, string[] searchFactorValues,
                                                  MembershipQuery queryMembership, ReadIdentityOptions readOptions)
 {
     return(new [] { GetNullIdentities() });
 }
 public TeamFoundationIdentity ReadIdentity(IdentityDescriptor descriptor, MembershipQuery queryMembership,
                                            ReadIdentityOptions readOptions)
 {
     throw new NotImplementedException();
 }
 public TeamFoundationIdentity[] ReadIdentities(IdentityDescriptor[] descriptors, MembershipQuery queryMembership,
                                                ReadIdentityOptions readOptions, IEnumerable <string> propertyNameFilters, IdentityPropertyScope propertyScope)
 {
     throw new NotImplementedException();
 }
 public TeamFoundationIdentity[][] ReadIdentities(TeamFoundation.Framework.Common.IdentitySearchFactor searchFactor, string[] searchFactorValues,
                                                  MembershipQuery queryMembership, ReadIdentityOptions readOptions, IEnumerable <string> propertyNameFilters,
                                                  IdentityPropertyScope propertyScope)
 {
     throw new NotImplementedException();
 }
 public TeamFoundationIdentity ReadIdentity(IdentitySearchFactor searchFactor, string searchFactorValue,
                                            MembershipQuery queryMembership, ReadIdentityOptions readOptions, IEnumerable <string> propertyNameFilters,
                                            IdentityPropertyScope propertyScope)
 {
     throw new NotImplementedException();
 }
 public TeamFoundationIdentity[] ListApplicationGroups(string scopeId, ReadIdentityOptions readOptions,
                                                       IEnumerable <string> propertyNameFilters, IdentityPropertyScope propertyScope)
 {
     throw new NotImplementedException();
 }
 public TeamFoundationIdentity[] ReadIdentities(IdentityDescriptor[] descriptors, MembershipQuery queryMembership,
                                                ReadIdentityOptions readOptions)
 {
     return(GetNullIdentities());
 }
 public TeamFoundationIdentity[] ListApplicationGroups(string scopeId, ReadIdentityOptions readOptions)
 {
     throw new NotImplementedException();
 }