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
- SettingsPropertyValueCollection.cs
- CorrelationToken.cs
- ToolStripMenuItem.cs
- FrameworkObject.cs
- CachedResourceDictionaryExtension.cs
- _ListenerResponseStream.cs
- XpsS0ValidatingLoader.cs
- Int32Animation.cs
- ExceptionUtil.cs
- FontStyleConverter.cs
- Thumb.cs
- SoapIgnoreAttribute.cs
- NativeCompoundFileAPIs.cs
- XmlDataCollection.cs
- DocumentApplicationState.cs
- Blend.cs
- QilReplaceVisitor.cs
- DataTableClearEvent.cs
- SkinBuilder.cs
- FilterEventArgs.cs
- ComponentRenameEvent.cs
- List.cs
- WebBrowserNavigatingEventHandler.cs
- CompositeClientFormatter.cs
- PageAsyncTaskManager.cs
- AsymmetricKeyExchangeDeformatter.cs
- TextEffect.cs
- DurableServiceAttribute.cs
- DbConnectionPoolIdentity.cs
- ConfigUtil.cs
- ExceptionWrapper.cs
- ProofTokenCryptoHandle.cs
- WebBrowserSiteBase.cs
- ProviderConnectionPoint.cs
- SmtpNetworkElement.cs
- FloaterParaClient.cs
- NullableConverter.cs
- SimpleType.cs
- _LazyAsyncResult.cs
- DataGridRow.cs
- MailMessageEventArgs.cs
- CacheDependency.cs
- IssuedTokenParametersEndpointAddressElement.cs
- CodeAttributeArgument.cs
- PopupControlService.cs
- TypeCodeDomSerializer.cs
- DoubleIndependentAnimationStorage.cs
- PeerCredentialElement.cs
- SqlRowUpdatingEvent.cs
- WebBrowserEvent.cs
- DBAsyncResult.cs
- BitmapEditor.cs
- StorageEntityTypeMapping.cs
- DataGridViewTextBoxEditingControl.cs
- OdbcParameterCollection.cs
- DefaultProxySection.cs
- Tuple.cs
- ValidationHelpers.cs
- MatrixCamera.cs
- RequestResizeEvent.cs
- WorkflowEnvironment.cs
- CheckBoxPopupAdapter.cs
- ProbeMatchesApril2005.cs
- Nullable.cs
- XamlFilter.cs
- HttpCachePolicyWrapper.cs
- EventSource.cs
- SizeValueSerializer.cs
- DataGridViewTextBoxColumn.cs
- TdsEnums.cs
- securitymgrsite.cs
- FontCacheLogic.cs
- ProfileModule.cs
- CompilerLocalReference.cs
- SynchronizationLockException.cs
- ListItemCollection.cs
- ShaderEffect.cs
- TraceSwitch.cs
- ISessionStateStore.cs
- ConstraintConverter.cs
- DataError.cs
- SqlDataSourceView.cs
- DateTimeFormatInfo.cs
- XsdDataContractImporter.cs
- VectorKeyFrameCollection.cs
- TransformPattern.cs
- smtpconnection.cs
- Propagator.ExtentPlaceholderCreator.cs
- SystemTcpConnection.cs
- DirectoryNotFoundException.cs
- linebase.cs
- OperatingSystemVersionCheck.cs
- Code.cs
- HtmlTable.cs
- XPathChildIterator.cs
- TableLayoutPanelCellPosition.cs
- HttpWebRequest.cs
- LinearQuaternionKeyFrame.cs
- PropertyValueEditor.cs
- TcpProcessProtocolHandler.cs