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
- PriorityBinding.cs
- BaseCollection.cs
- SHA1.cs
- OdbcParameterCollection.cs
- bindurihelper.cs
- Mutex.cs
- HttpRequestWrapper.cs
- MembershipValidatePasswordEventArgs.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- ExtensionFile.cs
- IdnMapping.cs
- ExpressionBuilder.cs
- SimplePropertyEntry.cs
- ClaimComparer.cs
- InstancePersistenceException.cs
- Model3D.cs
- CleanUpVirtualizedItemEventArgs.cs
- RectIndependentAnimationStorage.cs
- XmlSchemaSimpleTypeList.cs
- ZipFileInfoCollection.cs
- Bezier.cs
- DelegateBodyWriter.cs
- SessionPageStateSection.cs
- AppDomainCompilerProxy.cs
- UnsafeNativeMethods.cs
- OdbcError.cs
- BufferedWebEventProvider.cs
- ContextInformation.cs
- DbConnectionPoolGroupProviderInfo.cs
- DateTimeFormat.cs
- CategoryNameCollection.cs
- Tile.cs
- WebPartConnectVerb.cs
- CharacterString.cs
- BooleanFunctions.cs
- ModuleBuilder.cs
- PathFigureCollectionConverter.cs
- WebRequestModuleElementCollection.cs
- ComponentChangedEvent.cs
- NavigationCommands.cs
- ScrollPattern.cs
- CodeTypeParameter.cs
- TextModifier.cs
- unitconverter.cs
- PointConverter.cs
- ByteStreamGeometryContext.cs
- WebEventCodes.cs
- EventLogWatcher.cs
- GradientStopCollection.cs
- VirtualDirectoryMapping.cs
- ListControl.cs
- DataGridPageChangedEventArgs.cs
- ZipIOCentralDirectoryBlock.cs
- DataServiceClientException.cs
- BindToObject.cs
- UniqueIdentifierService.cs
- ObjectItemLoadingSessionData.cs
- Translator.cs
- WindowsProgressbar.cs
- UIServiceHelper.cs
- ServiceEndpointCollection.cs
- PEFileReader.cs
- UrlPropertyAttribute.cs
- ForceCopyBuildProvider.cs
- OdbcErrorCollection.cs
- Visitors.cs
- TextBoxLine.cs
- ObjectPropertyMapping.cs
- odbcmetadatafactory.cs
- Operator.cs
- CalculatedColumn.cs
- DataGridViewCellStyleChangedEventArgs.cs
- DesignerCategoryAttribute.cs
- ExpressionPrinter.cs
- InstallerTypeAttribute.cs
- ISO2022Encoding.cs
- DataControlImageButton.cs
- ApplicationInfo.cs
- SqlFlattener.cs
- Psha1DerivedKeyGeneratorHelper.cs
- ToolStripRenderer.cs
- WebPartVerbsEventArgs.cs
- HyperLinkDataBindingHandler.cs
- ResolvedKeyFrameEntry.cs
- RemotingException.cs
- HierarchicalDataSourceDesigner.cs
- RootProfilePropertySettingsCollection.cs
- ConstantProjectedSlot.cs
- RequiredAttributeAttribute.cs
- ImageProxy.cs
- HeaderUtility.cs
- DoubleCollection.cs
- Privilege.cs
- XmlHierarchicalEnumerable.cs
- RemoteWebConfigurationHost.cs
- Missing.cs
- UnsafeNativeMethods.cs
- TypedAsyncResult.cs
- ApplicationServiceManager.cs
- UnSafeCharBuffer.cs