diff --git a/Program.cs b/Program.cs index f47f04b..0d5e758 100644 --- a/Program.cs +++ b/Program.cs @@ -1,14 +1,41 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; +using System.Runtime.Serialization; +using System.Security.Principal; using System.Text; using System.Threading.Tasks; +using System.Xml.Serialization; namespace NSspi { public class Program { public static void Main( string[] args ) + { + IdentTest(); + } + + private static void IdentTest() + { + WindowsIdentity current = WindowsIdentity.GetCurrent( TokenAccessLevels.MaximumAllowed ); + Stream stream = new MemoryStream(); + StringWriter writer = new StringWriter(); + + ISerializable serializable = current; + SerializationInfo info = new SerializationInfo( current.GetType(), new FormatterConverter() ); + StreamingContext streamingContext = new StreamingContext(); + + serializable.GetObjectData( info, streamingContext ); + + + WindowsIdentity newId = new WindowsIdentity( info, streamingContext ); + } + + + + private static void CredTest() { Credential cred = null; try @@ -21,7 +48,7 @@ namespace NSspi } finally { - if ( cred != null ) + if( cred != null ) { cred.Dispose(); }