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
- FtpRequestCacheValidator.cs
- ExpandoClass.cs
- FileInfo.cs
- TextElementCollectionHelper.cs
- InsufficientMemoryException.cs
- Transform.cs
- DataGridRelationshipRow.cs
- BindingMemberInfo.cs
- ObjectConverter.cs
- FrameworkTemplate.cs
- ListControl.cs
- DelayDesigner.cs
- DynamicRendererThreadManager.cs
- DrawingContext.cs
- HiddenField.cs
- Section.cs
- TextEditorTables.cs
- BindStream.cs
- _PooledStream.cs
- XmlSchemaDatatype.cs
- StylusPointPropertyId.cs
- UIElement3D.cs
- SymmetricAlgorithm.cs
- UIElement.cs
- HttpCookie.cs
- Geometry3D.cs
- DBCSCodePageEncoding.cs
- FrameSecurityDescriptor.cs
- Marshal.cs
- DataListCommandEventArgs.cs
- HMACSHA512.cs
- cookie.cs
- Roles.cs
- WmiPutTraceRecord.cs
- _ConnectStream.cs
- AncestorChangedEventArgs.cs
- SqlServer2KCompatibilityAnnotation.cs
- InternalsVisibleToAttribute.cs
- XPathDocumentBuilder.cs
- ContextMenu.cs
- System.Data_BID.cs
- RewritingSimplifier.cs
- CfgArc.cs
- UnsafeNetInfoNativeMethods.cs
- CompleteWizardStep.cs
- EdmSchemaError.cs
- VarRefManager.cs
- Figure.cs
- CodeTypeParameterCollection.cs
- FieldDescriptor.cs
- ClassData.cs
- Function.cs
- DesignerActionVerbItem.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- AllMembershipCondition.cs
- LeaseManager.cs
- WhitespaceRuleLookup.cs
- TextEditorCharacters.cs
- DataRowCollection.cs
- ConnectionStringsExpressionBuilder.cs
- LineServicesCallbacks.cs
- CodeGeneratorOptions.cs
- BamlResourceSerializer.cs
- ComponentCollection.cs
- securitycriticaldataClass.cs
- FormsAuthenticationUserCollection.cs
- Directory.cs
- SqlCacheDependencySection.cs
- XmlSchemaSimpleContentExtension.cs
- CryptoApi.cs
- ControlPersister.cs
- NetworkInformationException.cs
- XmlAtomicValue.cs
- ImportContext.cs
- WeakEventTable.cs
- ContainerVisual.cs
- SecuritySessionSecurityTokenProvider.cs
- NativeRightsManagementAPIsStructures.cs
- PropertyGroupDescription.cs
- ArgIterator.cs
- CodeNamespaceCollection.cs
- ObjectConverter.cs
- ProfileModule.cs
- PolyBezierSegment.cs
- FilterException.cs
- NativeMethods.cs
- CommonDialog.cs
- MergeLocalizationDirectives.cs
- AudioFileOut.cs
- Int64KeyFrameCollection.cs
- TypedReference.cs
- CorrelationRequestContext.cs
- ToolStripItemGlyph.cs
- versioninfo.cs
- OracleSqlParser.cs
- QilTargetType.cs
- MetadataCacheItem.cs
- TextTreeTextBlock.cs
- FileDetails.cs
- StoreItemCollection.cs