Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / WindowsSecurityToken.cs / 1 / 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 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) { DateTime effectiveTime = DateTime.UtcNow; Initialize(id, effectiveTime, DateTime.UtcNow.AddHours(10), windowsIdentity, true); } protected WindowsSecurityToken() { } protected void Initialize(string id, 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.effectiveTime = effectiveTime; this.expirationTime = expirationTime; this.windowsIdentity = clone ? SecurityUtils.CloneWindowsIdentityIfNecessary(windowsIdentity) : windowsIdentity; } public override string Id { get { return this.id; } } 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EntityDataSourceMemberPath.cs
- QuestionEventArgs.cs
- SoapFault.cs
- WorkflowInstanceExtensionCollection.cs
- OdbcDataAdapter.cs
- MultiSelectRootGridEntry.cs
- AsymmetricSignatureDeformatter.cs
- ResumeStoryboard.cs
- BitmapEffectInputData.cs
- ClientSettingsProvider.cs
- DemultiplexingDispatchMessageFormatter.cs
- UiaCoreProviderApi.cs
- DynamicDocumentPaginator.cs
- DoubleAnimationUsingPath.cs
- DriveInfo.cs
- Matrix3DConverter.cs
- FieldNameLookup.cs
- ValidatedControlConverter.cs
- TraceSection.cs
- HTTPNotFoundHandler.cs
- SortDescriptionCollection.cs
- XmlAnyElementAttributes.cs
- FontCollection.cs
- XPathDocumentIterator.cs
- ApplySecurityAndSendAsyncResult.cs
- StandardTransformFactory.cs
- XmlSchemaSimpleTypeList.cs
- ConfigurationSectionGroupCollection.cs
- ClientConfigurationHost.cs
- ToolStripTextBox.cs
- DataColumnPropertyDescriptor.cs
- StorageAssociationTypeMapping.cs
- LinearQuaternionKeyFrame.cs
- DesignerExtenders.cs
- HtmlInputRadioButton.cs
- PropertyPath.cs
- CodeSnippetExpression.cs
- UnicastIPAddressInformationCollection.cs
- AsymmetricAlgorithm.cs
- FontFamilyIdentifier.cs
- ParameterReplacerVisitor.cs
- AttributeTableBuilder.cs
- QueryAccessibilityHelpEvent.cs
- AuthorizationRuleCollection.cs
- selecteditemcollection.cs
- EdmItemCollection.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- UIntPtr.cs
- InputLangChangeRequestEvent.cs
- TreeIterators.cs
- PropertyMappingExceptionEventArgs.cs
- DirectionalLight.cs
- SQLByteStorage.cs
- TextElementEnumerator.cs
- RegistrationServices.cs
- ProgressBar.cs
- DataGrid.cs
- XmlMapping.cs
- RouteItem.cs
- PtsPage.cs
- ListItemParagraph.cs
- CharEnumerator.cs
- DataGridViewRowsAddedEventArgs.cs
- ServiceNotStartedException.cs
- AsyncContentLoadedEventArgs.cs
- MergePropertyDescriptor.cs
- PeerHopCountAttribute.cs
- TrackingStringDictionary.cs
- RoutedPropertyChangedEventArgs.cs
- XmlEnumAttribute.cs
- SQLGuid.cs
- TextDecorationCollectionConverter.cs
- GenericTextProperties.cs
- ConnectorEditor.cs
- Helpers.cs
- TableLayoutStyle.cs
- XmlSchemaObjectTable.cs
- OracleMonthSpan.cs
- HttpValueCollection.cs
- MarshalDirectiveException.cs
- WhitespaceRuleReader.cs
- AddInServer.cs
- precedingsibling.cs
- DataGridViewImageCell.cs
- MethodExpr.cs
- SecurityKeyType.cs
- BinHexEncoding.cs
- StringArrayConverter.cs
- PolicyLevel.cs
- WebRequestModuleElementCollection.cs
- SessionEndedEventArgs.cs
- OdbcConnectionString.cs
- RSAOAEPKeyExchangeFormatter.cs
- OperationInvokerBehavior.cs
- XmlSchemaIdentityConstraint.cs
- ComplexObject.cs
- CaseInsensitiveComparer.cs
- RepeatBehaviorConverter.cs
- CaseInsensitiveHashCodeProvider.cs
- MarkupCompilePass2.cs