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
- OrderablePartitioner.cs
- SingleKeyFrameCollection.cs
- SqlProvider.cs
- XPathEmptyIterator.cs
- RadioButton.cs
- ProcessHostConfigUtils.cs
- EventDescriptor.cs
- XPathParser.cs
- SiteMapProvider.cs
- ColorTransform.cs
- TabletDeviceInfo.cs
- XmlSchemaIdentityConstraint.cs
- RestHandlerFactory.cs
- CompilationLock.cs
- basemetadatamappingvisitor.cs
- CreateUserWizard.cs
- AsyncParams.cs
- _ConnectionGroup.cs
- Internal.cs
- ConnectionModeReader.cs
- Formatter.cs
- AttributedMetaModel.cs
- TextServicesHost.cs
- VirtualPathUtility.cs
- TextParagraphView.cs
- EastAsianLunisolarCalendar.cs
- InternalCompensate.cs
- GenericPrincipal.cs
- Variant.cs
- ReferentialConstraint.cs
- NumberSubstitution.cs
- EventLogPermission.cs
- TransformerInfoCollection.cs
- NavigatorOutput.cs
- SourceSwitch.cs
- FacetValueContainer.cs
- DesignerDataView.cs
- ProcessManager.cs
- UIPropertyMetadata.cs
- ToolStripGripRenderEventArgs.cs
- GridLengthConverter.cs
- log.cs
- HttpException.cs
- IfJoinedCondition.cs
- RecordManager.cs
- NullableBoolConverter.cs
- SettingsProperty.cs
- StreamResourceInfo.cs
- LinqDataSourceDeleteEventArgs.cs
- SafeNativeMethods.cs
- WebPartVerb.cs
- CompositeFontFamily.cs
- XmlAttribute.cs
- DocumentViewerConstants.cs
- TdsValueSetter.cs
- EventDescriptor.cs
- XmlLinkedNode.cs
- WebService.cs
- COM2ComponentEditor.cs
- SqlErrorCollection.cs
- PackWebRequestFactory.cs
- TransformerInfoCollection.cs
- FloatUtil.cs
- OpenTypeLayout.cs
- BitmapPalette.cs
- IList.cs
- ControlAdapter.cs
- XamlFilter.cs
- BitmapEncoder.cs
- ZoneLinkButton.cs
- SecurityKeyIdentifierClause.cs
- MetafileEditor.cs
- ItemContainerPattern.cs
- ListControl.cs
- Visitors.cs
- SqlDataSourceFilteringEventArgs.cs
- MarkerProperties.cs
- TextServicesContext.cs
- EditorBrowsableAttribute.cs
- SafeNativeMemoryHandle.cs
- LinkLabel.cs
- InputProcessorProfilesLoader.cs
- DataGridViewMethods.cs
- ActionFrame.cs
- ElementHostPropertyMap.cs
- MetadataItemSerializer.cs
- WsdlBuildProvider.cs
- QueryPageSettingsEventArgs.cs
- BamlReader.cs
- NullNotAllowedCollection.cs
- designeractionlistschangedeventargs.cs
- HttpListener.cs
- EventLogPermissionAttribute.cs
- BooleanFunctions.cs
- ScriptingWebServicesSectionGroup.cs
- GroupBox.cs
- CapabilitiesAssignment.cs
- CharEnumerator.cs
- HttpInputStream.cs
- WasNotInstalledException.cs