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
- TrustLevelCollection.cs
- InheritanceService.cs
- StreamWriter.cs
- WebReference.cs
- XamlTypeWithExplicitNamespace.cs
- XmlSerializerSection.cs
- WorkflowApplicationAbortedException.cs
- SpellerHighlightLayer.cs
- HttpHandlerActionCollection.cs
- DataViewSettingCollection.cs
- LicenseContext.cs
- TypeValidationEventArgs.cs
- BitmapEffectRenderDataResource.cs
- _SpnDictionary.cs
- PropertyGridView.cs
- WebPartDescription.cs
- PingReply.cs
- CodeExporter.cs
- NumberAction.cs
- LocalizationParserHooks.cs
- SqlCommand.cs
- UnsafeNativeMethods.cs
- Header.cs
- XmlSchemaComplexType.cs
- CollectionExtensions.cs
- ErrorHandler.cs
- CodeDelegateCreateExpression.cs
- InternalControlCollection.cs
- ProcessModelSection.cs
- _IPv4Address.cs
- Double.cs
- Directory.cs
- IndexingContentUnit.cs
- ServicePoint.cs
- TemplateInstanceAttribute.cs
- TreeViewCancelEvent.cs
- ClientSponsor.cs
- CustomAttributeFormatException.cs
- CriticalHandle.cs
- HttpWebRequest.cs
- OracleSqlParser.cs
- COM2IPerPropertyBrowsingHandler.cs
- DataSet.cs
- VisualCollection.cs
- FamilyTypefaceCollection.cs
- SyndicationCategory.cs
- SqlCharStream.cs
- DictionaryEntry.cs
- ObjectViewFactory.cs
- CodeDelegateInvokeExpression.cs
- ParameterCollection.cs
- NetworkInformationException.cs
- PersonalizationDictionary.cs
- RangeValidator.cs
- Group.cs
- DefaultEventAttribute.cs
- ArrayTypeMismatchException.cs
- _UriSyntax.cs
- InstanceStore.cs
- XamlBrushSerializer.cs
- MostlySingletonList.cs
- GcSettings.cs
- StateDesigner.cs
- ConnectionManagementSection.cs
- SoapMessage.cs
- ImageSource.cs
- DependencyPropertyKind.cs
- LingerOption.cs
- DataPagerFieldCollection.cs
- EntityClientCacheEntry.cs
- CfgParser.cs
- LOSFormatter.cs
- OrderedEnumerableRowCollection.cs
- MailMessage.cs
- DocumentViewerHelper.cs
- ProcessInputEventArgs.cs
- AssertSection.cs
- dtdvalidator.cs
- TraceEventCache.cs
- DeleteIndexBinder.cs
- NestedContainer.cs
- WebPartCatalogAddVerb.cs
- WebContext.cs
- RtfToXamlLexer.cs
- WinEventHandler.cs
- DataGridViewSelectedRowCollection.cs
- CustomLineCap.cs
- EasingKeyFrames.cs
- ButtonRenderer.cs
- DurableRuntimeValidator.cs
- CatalogPartDesigner.cs
- ProxyWebPart.cs
- XmlSchemaAttributeGroupRef.cs
- SocketException.cs
- FixedSOMTableCell.cs
- ProtectedConfigurationSection.cs
- ConfigXmlSignificantWhitespace.cs
- FrameworkContentElement.cs
- RankException.cs
- HMACRIPEMD160.cs