Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UniformGrid.cs
- KeyValueSerializer.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- RawStylusActions.cs
- TemplateBindingExtensionConverter.cs
- DataGridViewColumnHeaderCell.cs
- PropertyDescriptorCollection.cs
- RemotingAttributes.cs
- SoapTypeAttribute.cs
- GradientStopCollection.cs
- ThicknessAnimationUsingKeyFrames.cs
- XsltOutput.cs
- Tuple.cs
- AssemblyInfo.cs
- PointHitTestResult.cs
- TransformerConfigurationWizardBase.cs
- PropertyInfoSet.cs
- TriState.cs
- SectionInput.cs
- MessageBodyMemberAttribute.cs
- _ProxyRegBlob.cs
- Configuration.cs
- PackageFilter.cs
- EncodingTable.cs
- TemplateBuilder.cs
- _KerberosClient.cs
- ObjectDataSourceEventArgs.cs
- TabControlEvent.cs
- TableParagraph.cs
- SetIterators.cs
- WorkflowInvoker.cs
- OptionUsage.cs
- PackageRelationshipSelector.cs
- GPRECT.cs
- ToolStripScrollButton.cs
- ParameterElement.cs
- ObjectQueryExecutionPlan.cs
- SrgsGrammar.cs
- SpellerInterop.cs
- NamespaceDecl.cs
- PeerNameRegistration.cs
- HttpCookieCollection.cs
- TextEditorSelection.cs
- SoapIgnoreAttribute.cs
- ConfigurationLocation.cs
- StringArrayConverter.cs
- OleDbStruct.cs
- RuntimeIdentifierPropertyAttribute.cs
- ListItemParagraph.cs
- TransactionCache.cs
- Int32Storage.cs
- HwndProxyElementProvider.cs
- AudioBase.cs
- SqlDataSourceSelectingEventArgs.cs
- MessageSecurityOverMsmqElement.cs
- DockAndAnchorLayout.cs
- VarRefManager.cs
- MouseWheelEventArgs.cs
- PathFigure.cs
- UrlMappingCollection.cs
- SqlConnectionString.cs
- SqlCrossApplyToCrossJoin.cs
- RectangleHotSpot.cs
- XmlSiteMapProvider.cs
- RegexMatch.cs
- GridViewRow.cs
- GroupStyle.cs
- SoapBinding.cs
- InvokeGenerator.cs
- PersistenceTypeAttribute.cs
- ControlIdConverter.cs
- HttpApplication.cs
- HttpApplication.cs
- DataGridViewCellStyleConverter.cs
- SafeCoTaskMem.cs
- SerializationHelper.cs
- OdbcReferenceCollection.cs
- FormViewInsertedEventArgs.cs
- SqlUtils.cs
- DataGridItemCollection.cs
- DefaultValidator.cs
- TransformPattern.cs
- PropertyDescriptorCollection.cs
- TreeNodeEventArgs.cs
- SctClaimSerializer.cs
- ClientApiGenerator.cs
- ScrollableControl.cs
- TypefaceMap.cs
- MultiView.cs
- Int32AnimationBase.cs
- SHA512Managed.cs
- XPathNavigatorReader.cs
- IODescriptionAttribute.cs
- WithParamAction.cs
- IntranetCredentialPolicy.cs
- NumericUpDown.cs
- TagNameToTypeMapper.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- FontFamily.cs
- ItemMap.cs