Example #1
0
        public byte[] GetBytes()
        {
            byte[] array = new byte[this.GetByteCountToSerializeToken()];
            int    num   = 0;

            SerializedSecurityAccessToken.serializedSecurityAccessTokenCookie.CopyTo(array, num);
            num         += SerializedSecurityAccessToken.serializedSecurityAccessTokenCookie.Length;
            array[num++] = 1;
            SerializedSecurityAccessToken.SerializeStringToByteArray(this.UserSid, array, ref num);
            SerializedSecurityAccessToken.SerializeSidArrayToByteArray(this.GroupSids, array, ref num);
            SerializedSecurityAccessToken.SerializeSidArrayToByteArray(this.RestrictedGroupSids, array, ref num);
            return(array);
        }
Example #2
0
 private static void SerializeSidArrayToByteArray(SidStringAndAttributes[] sidArray, byte[] byteArray, ref int byteIndex)
 {
     if (sidArray == null || sidArray.Length == 0)
     {
         for (int i = 0; i < 4; i++)
         {
             byteArray[byteIndex++] = 0;
         }
         return;
     }
     BitConverter.GetBytes(sidArray.Length).CopyTo(byteArray, byteIndex);
     byteIndex += 4;
     foreach (SidStringAndAttributes sidStringAndAttributes in sidArray)
     {
         SerializedSecurityAccessToken.SerializeStringToByteArray(sidStringAndAttributes.SecurityIdentifier, byteArray, ref byteIndex);
         BitConverter.GetBytes(sidStringAndAttributes.Attributes).CopyTo(byteArray, byteIndex);
         byteIndex += 4;
     }
 }