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
- HtmlEncodedRawTextWriter.cs
- CharacterBufferReference.cs
- SafeProcessHandle.cs
- Queue.cs
- HttpVersion.cs
- ColumnHeader.cs
- SessionStateContainer.cs
- WMIInterop.cs
- ArraySortHelper.cs
- FieldAccessException.cs
- WebPartConnection.cs
- PrePrepareMethodAttribute.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- DataGridViewTextBoxEditingControl.cs
- ServiceModelStringsVersion1.cs
- TextTrailingCharacterEllipsis.cs
- WindowsListBox.cs
- Int16AnimationBase.cs
- BamlRecordWriter.cs
- IdleTimeoutMonitor.cs
- QilValidationVisitor.cs
- FamilyMap.cs
- GroupQuery.cs
- OutputCacheEntry.cs
- WindowsFormsEditorServiceHelper.cs
- ReflectionServiceProvider.cs
- CreateUserWizard.cs
- SHA256.cs
- xml.cs
- ToolboxItemWrapper.cs
- CodeTypeMember.cs
- DataGridAddNewRow.cs
- ComponentResourceManager.cs
- AdapterSwitches.cs
- InputDevice.cs
- FontFamilyValueSerializer.cs
- CreateParams.cs
- SerialPinChanges.cs
- LinkButton.cs
- ToolboxControl.cs
- DateTimeParse.cs
- WorkflowRuntimeEndpoint.cs
- IPEndPoint.cs
- ContractListAdapter.cs
- RegistrySecurity.cs
- QueryRewriter.cs
- LineProperties.cs
- DataTableTypeConverter.cs
- ViewKeyConstraint.cs
- CallbackValidatorAttribute.cs
- AmbiguousMatchException.cs
- SingleObjectCollection.cs
- DbBuffer.cs
- PermissionToken.cs
- IOException.cs
- CodeMethodInvokeExpression.cs
- BrowsableAttribute.cs
- CompensationHandlingFilter.cs
- DataControlField.cs
- TextEndOfSegment.cs
- ForwardPositionQuery.cs
- SubstitutionList.cs
- HtmlShim.cs
- Debug.cs
- CursorConverter.cs
- NamespaceListProperty.cs
- FontStretches.cs
- ColorAnimation.cs
- NavigationService.cs
- ColorInterpolationModeValidation.cs
- controlskin.cs
- IconHelper.cs
- InternalTransaction.cs
- WebZone.cs
- NeutralResourcesLanguageAttribute.cs
- Int16AnimationUsingKeyFrames.cs
- ListCollectionView.cs
- RequestDescription.cs
- ScriptManagerProxy.cs
- QuaternionRotation3D.cs
- DynamicQueryableWrapper.cs
- TypeResolvingOptions.cs
- Form.cs
- ObjectSecurity.cs
- InputManager.cs
- TreeSet.cs
- RootNamespaceAttribute.cs
- WindowsToolbarItemAsMenuItem.cs
- ZeroOpNode.cs
- SamlAssertion.cs
- Container.cs
- BinaryParser.cs
- DataServiceQueryException.cs
- DataBoundLiteralControl.cs
- OdbcTransaction.cs
- SQLStringStorage.cs
- CheckedPointers.cs
- CqlLexerHelpers.cs
- COM2ComponentEditor.cs
- RectKeyFrameCollection.cs