Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / WindowsSecurityToken.cs / 1 / 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 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) { DateTime effectiveTime = DateTime.UtcNow; Initialize(id, effectiveTime, DateTime.UtcNow.AddHours(10), windowsIdentity, true); } protected WindowsSecurityToken() { } protected void Initialize(string id, 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.effectiveTime = effectiveTime; this.expirationTime = expirationTime; this.windowsIdentity = clone ? SecurityUtils.CloneWindowsIdentityIfNecessary(windowsIdentity) : windowsIdentity; } public override string Id { get { return this.id; } } 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TemplateComponentConnector.cs
- ReflectPropertyDescriptor.cs
- ScriptingWebServicesSectionGroup.cs
- RectangleHotSpot.cs
- SByteStorage.cs
- TabControlAutomationPeer.cs
- CodeCompileUnit.cs
- ListViewHitTestInfo.cs
- PhoneCallDesigner.cs
- storepermission.cs
- XmlNodeChangedEventManager.cs
- ExeConfigurationFileMap.cs
- UrlMapping.cs
- XmlCompatibilityReader.cs
- GlyphingCache.cs
- TokenFactoryFactory.cs
- Maps.cs
- DropSource.cs
- SystemShuttingDownException.cs
- TrackingProfile.cs
- HTMLTagNameToTypeMapper.cs
- BindValidator.cs
- XsdDuration.cs
- FrameSecurityDescriptor.cs
- Region.cs
- TextElementEnumerator.cs
- DropTarget.cs
- ColorMap.cs
- MetafileHeader.cs
- TransformerInfo.cs
- CrossAppDomainChannel.cs
- RectangleF.cs
- WebConfigurationHost.cs
- ExpressionBindings.cs
- MetadataItemEmitter.cs
- ObjectDataProvider.cs
- SpellerStatusTable.cs
- SharedDp.cs
- SymLanguageVendor.cs
- CallId.cs
- BuildProviderCollection.cs
- ContentElementCollection.cs
- KerberosReceiverSecurityToken.cs
- NetworkInformationPermission.cs
- _NetworkingPerfCounters.cs
- XslAst.cs
- BindingsCollection.cs
- RadioButtonBaseAdapter.cs
- EventArgs.cs
- InitializationEventAttribute.cs
- RemotingConfigParser.cs
- SqlUnionizer.cs
- TrustLevelCollection.cs
- EmptyStringExpandableObjectConverter.cs
- TableRow.cs
- shaper.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- Container.cs
- DataControlReferenceCollection.cs
- WsdlImporterElement.cs
- CodeValidator.cs
- Setter.cs
- Cell.cs
- DesignerActionTextItem.cs
- EntryPointNotFoundException.cs
- VisualTarget.cs
- NonParentingControl.cs
- DataPagerCommandEventArgs.cs
- SystemIPInterfaceStatistics.cs
- SchemaImporterExtension.cs
- SQLDateTimeStorage.cs
- VoiceChangeEventArgs.cs
- RectangleConverter.cs
- SchemaMerger.cs
- XmlToDatasetMap.cs
- DockEditor.cs
- MetabaseSettingsIis7.cs
- TemplateNameScope.cs
- RuleSettings.cs
- ServicePointManager.cs
- GZipStream.cs
- UpDownEvent.cs
- PermissionListSet.cs
- MenuItemCollection.cs
- SqlCachedBuffer.cs
- NotifyIcon.cs
- DbConnectionPoolIdentity.cs
- MetadataPropertyvalue.cs
- TaskHelper.cs
- OleStrCAMarshaler.cs
- DataPagerCommandEventArgs.cs
- ToolStripComboBox.cs
- MaskDescriptors.cs
- categoryentry.cs
- RawStylusInputReport.cs
- _DigestClient.cs
- SemanticAnalyzer.cs
- ParameterElement.cs
- Border.cs
- RelationshipDetailsCollection.cs