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
- TempFiles.cs
- CacheForPrimitiveTypes.cs
- PageParser.cs
- _NegoState.cs
- ResXDataNode.cs
- PackageRelationship.cs
- PieceDirectory.cs
- WebPartConnectionsEventArgs.cs
- RotateTransform3D.cs
- NumberFunctions.cs
- SingleKeyFrameCollection.cs
- SplitContainerDesigner.cs
- QuarticEase.cs
- AlphabeticalEnumConverter.cs
- SchemaImporterExtensionElement.cs
- FloaterBaseParaClient.cs
- HtmlControl.cs
- HandlerBase.cs
- EntityDataSourceSelectingEventArgs.cs
- DbParameterCollectionHelper.cs
- UnitySerializationHolder.cs
- IndexerNameAttribute.cs
- EntityDataSourceQueryBuilder.cs
- SafeNativeMethods.cs
- DockingAttribute.cs
- IntSecurity.cs
- StreamFormatter.cs
- MimeObjectFactory.cs
- CollectionViewSource.cs
- OpenTypeLayoutCache.cs
- XmlSchema.cs
- BidOverLoads.cs
- ComboBoxAutomationPeer.cs
- InternalTypeHelper.cs
- CqlGenerator.cs
- MouseGesture.cs
- XmlAnyElementAttribute.cs
- MbpInfo.cs
- XmlTypeAttribute.cs
- WebEvents.cs
- JsonServiceDocumentSerializer.cs
- FacetChecker.cs
- OleStrCAMarshaler.cs
- GridViewDeletedEventArgs.cs
- DataGridColumnReorderingEventArgs.cs
- CellConstant.cs
- ToolStripRenderEventArgs.cs
- ProcessThread.cs
- CodeLinePragma.cs
- UITypeEditor.cs
- ItemsControlAutomationPeer.cs
- XPathConvert.cs
- PrintPreviewGraphics.cs
- ToolboxComponentsCreatedEventArgs.cs
- WebPart.cs
- DataGridLengthConverter.cs
- ExpressionBinding.cs
- PropertySourceInfo.cs
- SqlMultiplexer.cs
- ProgressBarRenderer.cs
- WithParamAction.cs
- XmlCodeExporter.cs
- EdmComplexPropertyAttribute.cs
- Operator.cs
- SecurityUniqueId.cs
- HwndStylusInputProvider.cs
- Util.cs
- OdbcConnection.cs
- SimpleWebHandlerParser.cs
- DataFieldConverter.cs
- ActiveXHost.cs
- CodeVariableDeclarationStatement.cs
- SamlAuthorizationDecisionClaimResource.cs
- DoubleAnimationUsingPath.cs
- DockPattern.cs
- UnauthorizedWebPart.cs
- WebDescriptionAttribute.cs
- SelectionListComponentEditor.cs
- SymbolUsageManager.cs
- ErrorEventArgs.cs
- Trace.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- securitymgrsite.cs
- WebProxyScriptElement.cs
- XmlComplianceUtil.cs
- ConfigurationSectionCollection.cs
- DocumentApplicationDocumentViewer.cs
- DefaultAsyncDataDispatcher.cs
- PropertyGridEditorPart.cs
- BrowserCapabilitiesCodeGenerator.cs
- SafeNativeMethodsMilCoreApi.cs
- Policy.cs
- BulletedListEventArgs.cs
- DBCommandBuilder.cs
- MultiPropertyDescriptorGridEntry.cs
- GeneralTransformGroup.cs
- CompilationUnit.cs
- RoleManagerSection.cs
- PageAsyncTask.cs
- SqlBooleanizer.cs