Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / WindowsSecurityToken.cs / 1305376 / WindowsSecurityToken.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Collections.Generic; using System.Collections.ObjectModel; using System.Security.Principal; using System.IdentityModel.Claims; using System.IdentityModel.Policy; using System.IdentityModel.Tokens; public class WindowsSecurityToken : SecurityToken, IDisposable { string authenticationType; string id; DateTime effectiveTime; DateTime expirationTime; WindowsIdentity windowsIdentity; bool disposed = false; public WindowsSecurityToken(WindowsIdentity windowsIdentity) : this(windowsIdentity, SecurityUniqueId.Create().Value) { } public WindowsSecurityToken(WindowsIdentity windowsIdentity, string id) : this(windowsIdentity, id, null) { } public WindowsSecurityToken(WindowsIdentity windowsIdentity, string id, string authenticationType) { DateTime effectiveTime = DateTime.UtcNow; Initialize( id, authenticationType, effectiveTime, DateTime.UtcNow.AddHours( 10 ), windowsIdentity, true ); } protected WindowsSecurityToken() { } protected void Initialize(string id, DateTime effectiveTime, DateTime expirationTime, WindowsIdentity windowsIdentity, bool clone) { Initialize( id, null, effectiveTime, expirationTime, windowsIdentity, clone ); } protected void Initialize(string id, string authenticationType, DateTime effectiveTime, DateTime expirationTime, WindowsIdentity windowsIdentity, bool clone) { if (windowsIdentity == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("windowsIdentity"); if (id == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("id"); this.id = id; this.authenticationType = authenticationType; this.effectiveTime = effectiveTime; this.expirationTime = expirationTime; this.windowsIdentity = clone ? SecurityUtils.CloneWindowsIdentityIfNecessary(windowsIdentity, authenticationType) : windowsIdentity; } public override string Id { get { return this.id; } } public string AuthenticationType { get { return this.authenticationType; } } public override DateTime ValidFrom { get { return this.effectiveTime; } } public override DateTime ValidTo { get { return this.expirationTime; } } public virtual WindowsIdentity WindowsIdentity { get { ThrowIfDisposed(); return this.windowsIdentity; } } public override ReadOnlyCollectionSecurityKeys { get { return EmptyReadOnlyCollection .Instance; } } public virtual void Dispose() { if (!this.disposed) { this.disposed = true; if (this.windowsIdentity != null) { this.windowsIdentity.Dispose(); this.windowsIdentity = null; } } } protected void ThrowIfDisposed() { if (this.disposed) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ObjectDisposedException(this.GetType().FullName)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ExtractedStateEntry.cs
- SmiMetaDataProperty.cs
- sqlser.cs
- JsonEncodingStreamWrapper.cs
- UnsignedPublishLicense.cs
- KeyInterop.cs
- TextElement.cs
- ColumnResult.cs
- TTSEngineTypes.cs
- CqlLexerHelpers.cs
- Component.cs
- QueueAccessMode.cs
- FilteredDataSetHelper.cs
- IteratorDescriptor.cs
- Form.cs
- AnnotationResourceCollection.cs
- XPathChildIterator.cs
- EventDescriptor.cs
- ButtonPopupAdapter.cs
- ToolStripGrip.cs
- BmpBitmapDecoder.cs
- CustomErrorCollection.cs
- Stylus.cs
- _UncName.cs
- ThicknessAnimationBase.cs
- TypeKeyValue.cs
- SecurityDescriptor.cs
- EmptyImpersonationContext.cs
- ButtonAutomationPeer.cs
- Int16.cs
- FolderNameEditor.cs
- documentsequencetextcontainer.cs
- FileDialogCustomPlacesCollection.cs
- UnsafeNativeMethods.cs
- SpeechRecognitionEngine.cs
- EntityWrapper.cs
- TakeOrSkipWhileQueryOperator.cs
- PerspectiveCamera.cs
- ByteAnimationUsingKeyFrames.cs
- EntityFrameworkVersions.cs
- CriticalFileToken.cs
- Slider.cs
- EditorPartChrome.cs
- StyleConverter.cs
- Console.cs
- TableParagraph.cs
- NodeCounter.cs
- _TimerThread.cs
- odbcmetadatacollectionnames.cs
- XmlAnyElementAttribute.cs
- ExternalCalls.cs
- StringWriter.cs
- TextBoxRenderer.cs
- XmlNullResolver.cs
- AuthenticatedStream.cs
- LocatorBase.cs
- CheckBox.cs
- SplayTreeNode.cs
- StickyNoteAnnotations.cs
- SpellerHighlightLayer.cs
- ToolStripSettings.cs
- ImageListStreamer.cs
- ExtensibleClassFactory.cs
- SslStream.cs
- CustomTrackingRecord.cs
- WindowsServiceCredential.cs
- ControlValuePropertyAttribute.cs
- _ShellExpression.cs
- EntityCollection.cs
- TrustSection.cs
- UserControlAutomationPeer.cs
- CodeLinePragma.cs
- DockingAttribute.cs
- WorkflowServiceHost.cs
- UniqueID.cs
- SqlMethodTransformer.cs
- ChameleonKey.cs
- OpenFileDialog.cs
- IdleTimeoutMonitor.cs
- XPathEmptyIterator.cs
- Enlistment.cs
- DocComment.cs
- MarkupWriter.cs
- SerializationInfoEnumerator.cs
- EntryPointNotFoundException.cs
- XmlSerializationWriter.cs
- PerfCounterSection.cs
- SafeFileMappingHandle.cs
- Compiler.cs
- TerminateSequence.cs
- ToolStripItemTextRenderEventArgs.cs
- XmlKeywords.cs
- RichTextBox.cs
- ComAdminWrapper.cs
- DataGridViewColumnCollection.cs
- XmlLanguageConverter.cs
- Panel.cs
- ComAdminInterfaces.cs
- DigitShape.cs
- LineGeometry.cs