Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / SamlSecurityToken.cs / 1305376 / SamlSecurityToken.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using System.Xml.Serialization; using System.Xml; using System.Xml.Schema; using System.CodeDom; using System.Runtime.Serialization; using System.Globalization; using System.Threading; using System.IdentityModel.Selectors; using System.IdentityModel.Policy; using System.Reflection; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.IO; public class SamlSecurityToken : SecurityToken { SamlAssertion assertion; protected SamlSecurityToken() { } public SamlSecurityToken(SamlAssertion assertion) { Initialize(assertion); } protected void Initialize(SamlAssertion assertion) { if (assertion == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("assertion"); this.assertion = assertion; this.assertion.MakeReadOnly(); } public override string Id { get { return this.assertion.AssertionId; } } public override ReadOnlyCollectionSecurityKeys { get { return this.assertion.SecurityKeys; } } public SamlAssertion Assertion { get { return this.assertion; } } public override DateTime ValidFrom { get { if (this.assertion.Conditions != null) { return this.assertion.Conditions.NotBefore; } return SecurityUtils.MinUtcDateTime; } } public override DateTime ValidTo { get { if (this.assertion.Conditions != null) { return this.assertion.Conditions.NotOnOrAfter; } return SecurityUtils.MaxUtcDateTime; } } public override bool CanCreateKeyIdentifierClause () { if (typeof(T) == typeof(SamlAssertionKeyIdentifierClause)) return true; return false; } public override T CreateKeyIdentifierClause () { if (typeof(T) == typeof(SamlAssertionKeyIdentifierClause)) return new SamlAssertionKeyIdentifierClause(this.Id) as T; throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.UnableToCreateTokenReference))); } public override bool MatchesKeyIdentifierClause(SecurityKeyIdentifierClause keyIdentifierClause) { SamlAssertionKeyIdentifierClause samlKeyIdentifierClause = keyIdentifierClause as SamlAssertionKeyIdentifierClause; if (samlKeyIdentifierClause != null) return samlKeyIdentifierClause.Matches(this.Id); return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using System.Xml.Serialization; using System.Xml; using System.Xml.Schema; using System.CodeDom; using System.Runtime.Serialization; using System.Globalization; using System.Threading; using System.IdentityModel.Selectors; using System.IdentityModel.Policy; using System.Reflection; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.IO; public class SamlSecurityToken : SecurityToken { SamlAssertion assertion; protected SamlSecurityToken() { } public SamlSecurityToken(SamlAssertion assertion) { Initialize(assertion); } protected void Initialize(SamlAssertion assertion) { if (assertion == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("assertion"); this.assertion = assertion; this.assertion.MakeReadOnly(); } public override string Id { get { return this.assertion.AssertionId; } } public override ReadOnlyCollection SecurityKeys { get { return this.assertion.SecurityKeys; } } public SamlAssertion Assertion { get { return this.assertion; } } public override DateTime ValidFrom { get { if (this.assertion.Conditions != null) { return this.assertion.Conditions.NotBefore; } return SecurityUtils.MinUtcDateTime; } } public override DateTime ValidTo { get { if (this.assertion.Conditions != null) { return this.assertion.Conditions.NotOnOrAfter; } return SecurityUtils.MaxUtcDateTime; } } public override bool CanCreateKeyIdentifierClause () { if (typeof(T) == typeof(SamlAssertionKeyIdentifierClause)) return true; return false; } public override T CreateKeyIdentifierClause () { if (typeof(T) == typeof(SamlAssertionKeyIdentifierClause)) return new SamlAssertionKeyIdentifierClause(this.Id) as T; throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.UnableToCreateTokenReference))); } public override bool MatchesKeyIdentifierClause(SecurityKeyIdentifierClause keyIdentifierClause) { SamlAssertionKeyIdentifierClause samlKeyIdentifierClause = keyIdentifierClause as SamlAssertionKeyIdentifierClause; if (samlKeyIdentifierClause != null) return samlKeyIdentifierClause.Matches(this.Id); return false; } } } // 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
- PhysicalAddress.cs
- FlagsAttribute.cs
- TextDocumentView.cs
- BufferBuilder.cs
- PixelFormatConverter.cs
- SQLBytes.cs
- WindowsImpersonationContext.cs
- ContextMenu.cs
- TextRangeEdit.cs
- FormViewModeEventArgs.cs
- TextEncodedRawTextWriter.cs
- XmlSchemaProviderAttribute.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- Highlights.cs
- KnownIds.cs
- KeyFrames.cs
- AddInSegmentDirectoryNotFoundException.cs
- HighlightOverlayGlyph.cs
- HashSetDebugView.cs
- ToolStripItemClickedEventArgs.cs
- HttpCacheParams.cs
- HttpBrowserCapabilitiesBase.cs
- RuleElement.cs
- CompositeFontParser.cs
- QilReference.cs
- SqlUnionizer.cs
- PageSettings.cs
- FreezableOperations.cs
- PartialCachingControl.cs
- KeyInfo.cs
- EnumMemberAttribute.cs
- Point4DValueSerializer.cs
- ServiceDesigner.cs
- NetworkStream.cs
- ConnectionPoint.cs
- HttpModulesInstallComponent.cs
- OracleBoolean.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- WorkflowView.cs
- WebPartConnectionsConfigureVerb.cs
- XmlChildNodes.cs
- ToolZoneDesigner.cs
- Dictionary.cs
- HtmlInputReset.cs
- InstanceDescriptor.cs
- WebZone.cs
- QueryInterceptorAttribute.cs
- ModifierKeysValueSerializer.cs
- MatrixTransform3D.cs
- TypeForwardedToAttribute.cs
- CodeSubDirectory.cs
- XmlEncodedRawTextWriter.cs
- StylusPointPropertyInfo.cs
- MaskedTextProvider.cs
- PresentationUIStyleResources.cs
- CircleHotSpot.cs
- AssemblyFilter.cs
- ListViewSelectEventArgs.cs
- TimeoutException.cs
- DefaultEventAttribute.cs
- XmlEntity.cs
- MSAAEventDispatcher.cs
- TypeResolver.cs
- CharKeyFrameCollection.cs
- FileDetails.cs
- DecimalStorage.cs
- DoubleCollectionConverter.cs
- AttributeInfo.cs
- ButtonField.cs
- DataFormats.cs
- SerializationUtility.cs
- Set.cs
- PropertyTabChangedEvent.cs
- ObjectParameterCollection.cs
- PropertyGridEditorPart.cs
- XmlSchemaObjectCollection.cs
- EmptyCollection.cs
- ToolStripHighContrastRenderer.cs
- NameValueCollection.cs
- TiffBitmapDecoder.cs
- GridViewSortEventArgs.cs
- TextWriter.cs
- CodeTypeDelegate.cs
- ResourceFallbackManager.cs
- SqlTypesSchemaImporter.cs
- DataRelationCollection.cs
- FileReservationCollection.cs
- MenuItem.cs
- VariableAction.cs
- PermissionSetTriple.cs
- IsolatedStoragePermission.cs
- Encoding.cs
- ConstraintEnumerator.cs
- SchemaInfo.cs
- XmlNotation.cs
- BindingCompleteEventArgs.cs
- IISMapPath.cs
- ObjectPersistData.cs
- WebPartDisplayMode.cs
- LineGeometry.cs