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
- MarkupProperty.cs
- FormatterConverter.cs
- OracleDataAdapter.cs
- Size.cs
- ProviderUtil.cs
- UnmanagedBitmapWrapper.cs
- MatrixTransform3D.cs
- SafeReversePInvokeHandle.cs
- AdapterUtil.cs
- PropertyValueUIItem.cs
- SingleAnimationUsingKeyFrames.cs
- BlockUIContainer.cs
- TextParagraphCache.cs
- DetailsViewActionList.cs
- Matrix3DValueSerializer.cs
- AssociationSet.cs
- CapabilitiesRule.cs
- WindowsTab.cs
- TextEffect.cs
- DataSourceControl.cs
- ServiceDescription.cs
- TrayIconDesigner.cs
- NameValueSectionHandler.cs
- FormsAuthenticationUser.cs
- TranslateTransform.cs
- AttributeData.cs
- FormsIdentity.cs
- XmlQueryContext.cs
- _RequestCacheProtocol.cs
- keycontainerpermission.cs
- XmlDeclaration.cs
- SimpleRecyclingCache.cs
- safePerfProviderHandle.cs
- ImmutableDispatchRuntime.cs
- PageThemeCodeDomTreeGenerator.cs
- TreeSet.cs
- LabelAutomationPeer.cs
- Bold.cs
- DocumentGridContextMenu.cs
- XmlLinkedNode.cs
- DataGridViewCellStyleEditor.cs
- CatalogUtil.cs
- TrackingExtract.cs
- MobilePage.cs
- LogWriteRestartAreaState.cs
- ImmComposition.cs
- XmlEncodedRawTextWriter.cs
- Metafile.cs
- CookieProtection.cs
- PublisherMembershipCondition.cs
- ClientUtils.cs
- InheritanceUI.cs
- TextLine.cs
- InvalidEnumArgumentException.cs
- ClientSponsor.cs
- SweepDirectionValidation.cs
- HttpRequest.cs
- QueryResult.cs
- ClientTargetCollection.cs
- ToolStripOverflow.cs
- ApplicationHost.cs
- TypeConverterHelper.cs
- DataGridViewTopRowAccessibleObject.cs
- ListViewInsertEventArgs.cs
- EventLogTraceListener.cs
- TextReader.cs
- SystemMulticastIPAddressInformation.cs
- HyperLinkStyle.cs
- CqlErrorHelper.cs
- Clock.cs
- SQLInt32.cs
- ChannelSinkStacks.cs
- Timer.cs
- ScrollItemProviderWrapper.cs
- ListViewItemEventArgs.cs
- XmlWrappingReader.cs
- InternalPermissions.cs
- XmlNodeWriter.cs
- KoreanCalendar.cs
- PackagingUtilities.cs
- Padding.cs
- MenuStrip.cs
- ConfigXmlText.cs
- StateMachineWorkflowDesigner.cs
- QilDataSource.cs
- ListViewEditEventArgs.cs
- DependencyPropertyConverter.cs
- ImmComposition.cs
- GradientStopCollection.cs
- CustomTypeDescriptor.cs
- InstalledVoice.cs
- HttpConfigurationContext.cs
- NotSupportedException.cs
- WebRequestModuleElement.cs
- MyContact.cs
- ColumnResizeAdorner.cs
- DropAnimation.xaml.cs
- AsyncResult.cs
- PeerEndPoint.cs
- GradientBrush.cs