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
- BooleanSwitch.cs
- DataGridSortCommandEventArgs.cs
- CalendarItem.cs
- NetworkCredential.cs
- Baml2006KnownTypes.cs
- Util.cs
- SequenceDesignerAccessibleObject.cs
- BreakRecordTable.cs
- ManagedWndProcTracker.cs
- X509Utils.cs
- FontStretches.cs
- ExpandCollapseProviderWrapper.cs
- SemanticResultKey.cs
- AnnotationComponentChooser.cs
- XmlUrlResolver.cs
- ReaderContextStackData.cs
- MembershipPasswordException.cs
- CollectionView.cs
- EmptyImpersonationContext.cs
- XamlGridLengthSerializer.cs
- Thumb.cs
- SourceSwitch.cs
- PermissionSet.cs
- MemberMemberBinding.cs
- ServiceChannelManager.cs
- WebPartConnectionsCancelVerb.cs
- Pipe.cs
- DataRowCollection.cs
- SqlDataSourceAdvancedOptionsForm.cs
- StorageScalarPropertyMapping.cs
- TextDecorations.cs
- ServiceDescriptions.cs
- UnhandledExceptionEventArgs.cs
- OrderedDictionaryStateHelper.cs
- SafeFileHandle.cs
- CodeLinePragma.cs
- ZoneButton.cs
- ColorPalette.cs
- ScriptModule.cs
- AlgoModule.cs
- ByteAnimationUsingKeyFrames.cs
- VisualTarget.cs
- NumberSubstitution.cs
- ManagedIStream.cs
- BookmarkScope.cs
- UnsupportedPolicyOptionsException.cs
- CssStyleCollection.cs
- MemberPath.cs
- GifBitmapDecoder.cs
- SettingsAttributeDictionary.cs
- FixedSOMPageConstructor.cs
- Empty.cs
- DbConnectionClosed.cs
- CheckBoxField.cs
- FlowDocumentReaderAutomationPeer.cs
- ImageButton.cs
- COM2IProvidePropertyBuilderHandler.cs
- ClosableStream.cs
- Comparer.cs
- figurelengthconverter.cs
- ListViewUpdatedEventArgs.cs
- ContentWrapperAttribute.cs
- ItemMap.cs
- HideDisabledControlAdapter.cs
- DrawingGroup.cs
- Sequence.cs
- ZipPackage.cs
- PathGeometry.cs
- ProxyGenerator.cs
- BitmapEffectvisualstate.cs
- SamlAuthorizationDecisionStatement.cs
- DrawingState.cs
- UnsafeNativeMethodsPenimc.cs
- FormatterServicesNoSerializableCheck.cs
- DashStyle.cs
- UserControlAutomationPeer.cs
- ColorTransform.cs
- UxThemeWrapper.cs
- TitleStyle.cs
- TransactedBatchingBehavior.cs
- DynamicResourceExtensionConverter.cs
- CommandExpr.cs
- MessageEventSubscriptionService.cs
- Page.cs
- StylusPlugin.cs
- ComboBox.cs
- DES.cs
- SqlDataSourceQuery.cs
- DoubleCollectionValueSerializer.cs
- X509RecipientCertificateServiceElement.cs
- WebServiceClientProxyGenerator.cs
- MarkupCompilePass1.cs
- ChannelFactory.cs
- BrowsableAttribute.cs
- CatalogPartChrome.cs
- KernelTypeValidation.cs
- HttpModuleAction.cs
- Converter.cs
- AspNetHostingPermission.cs
- GridViewDeletedEventArgs.cs