Exemplo n.º 1
0
 static internal Principal SearchResultAsPrincipal(SearchResult sr, ADStoreCtx storeCtx, object discriminant)
 {
     if (ADUtils.IsOfObjectClass(sr, "computer") ||
         ADUtils.IsOfObjectClass(sr, "user") ||
         ADUtils.IsOfObjectClass(sr, "group"))
     {
         return(storeCtx.GetAsPrincipal(sr, discriminant));
     }
     else if (ADUtils.IsOfObjectClass(sr, "foreignSecurityPrincipal"))
     {
         return(storeCtx.ResolveCrossStoreRefToPrincipal(sr.GetDirectoryEntry()));
     }
     else
     {
         return(storeCtx.GetAsPrincipal(sr, discriminant));
     }
 }
Exemplo n.º 2
0
 static internal Principal DirectoryEntryAsPrincipal(DirectoryEntry de, ADStoreCtx storeCtx)
 {
     if (ADUtils.IsOfObjectClass(de, "computer") ||
         ADUtils.IsOfObjectClass(de, "user") ||
         ADUtils.IsOfObjectClass(de, "group"))
     {
         return(storeCtx.GetAsPrincipal(de, null));
     }
     else if (ADUtils.IsOfObjectClass(de, "foreignSecurityPrincipal"))
     {
         return(storeCtx.ResolveCrossStoreRefToPrincipal(de));
     }
     else
     {
         return(storeCtx.GetAsPrincipal(de, null));
     }
 }
Exemplo n.º 3
0
		internal static Principal DirectoryEntryAsPrincipal(DirectoryEntry de, ADStoreCtx storeCtx)
		{
			if (ADUtils.IsOfObjectClass(de, "computer") || ADUtils.IsOfObjectClass(de, "user") || ADUtils.IsOfObjectClass(de, "group"))
			{
				return storeCtx.GetAsPrincipal(de, null);
			}
			else
			{
				if (!ADUtils.IsOfObjectClass(de, "foreignSecurityPrincipal"))
				{
					return storeCtx.GetAsPrincipal(de, null);
				}
				else
				{
					return storeCtx.ResolveCrossStoreRefToPrincipal(de);
				}
			}
		}
Exemplo n.º 4
0
 static internal Principal SearchResultAsPrincipal(SearchResult sr, ADStoreCtx storeCtx, object discriminant)
 {
     if (ADUtils.IsOfObjectClass(sr, "computer") ||
        ADUtils.IsOfObjectClass(sr, "user") ||
        ADUtils.IsOfObjectClass(sr, "group"))
     {
         return storeCtx.GetAsPrincipal(sr, discriminant);
     }
     else if (ADUtils.IsOfObjectClass(sr, "foreignSecurityPrincipal"))
     {
         return storeCtx.ResolveCrossStoreRefToPrincipal(sr.GetDirectoryEntry());
     }
     else
     {
         return storeCtx.GetAsPrincipal(sr, discriminant);
     }
 }