362 :
base(
null,
null,
null,
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
"http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid")
363 {
365 {
368 byte[]
array =
new byte[4] { 67, 76, 82, 0 };
370 if (!global::Interop.Advapi32.AllocateLocallyUniqueId(
out SourceContext.SourceIdentifier))
371 {
373 }
377 {
378 throw new ArgumentNullException("sUserPrincipalName");
379 }
381 if (
array2.Length > 65535)
382 {
384 }
385 int num =
sizeof(global::Interop.SspiCli.KERB_S4U_LOGON) +
array2.Length;
388 ptr->MessageType = global::Interop.SspiCli.KERB_LOGON_SUBMIT_TYPE.KerbS4ULogon;
389 ptr->Flags = global::Interop.SspiCli.KerbS4uLogonFlags.None;
390 ptr->ClientUpn.Length = (
ptr->ClientUpn.MaximumLength = (ushort)
array2.Length);
394 ptr->ClientRealm.Length = (
ptr->ClientRealm.MaximumLength = 0);
402 global::Interop.LUID LogonId;
404 global::Interop.SspiCli.QUOTA_LIMITS Quotas;
406 int num3 = global::Interop.SspiCli.LsaLogonUser(
lsaHandle,
ref OriginName, global::Interop.SspiCli.SECURITY_LOGON_TYPE.Network,
authenticationPackage,
safeLocalAllocHandle.DangerousGetHandle(), num,
IntPtr.Zero,
ref SourceContext,
out ProfileBuffer,
out ProfileBufferLength,
out LogonId,
out Token,
out Quotas,
out SubStatus);
408 {
410 }
412 {
414 }
416 {
418 }
421 }
422 }
static Microsoft.Win32.SafeHandles.SafeLocalAllocHandle LocalAlloc(int cb)
static void Copy(int[] source, int startIndex, IntPtr destination, int length)
static SafeLsaHandle ConnectToLsa()
static Exception GetExceptionFromNtStatus(int status)
static unsafe int LookupAuthenticationPackage(SafeLsaHandle lsaHandle, string packageName)
SafeAccessTokenHandle _safeTokenHandle