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
- MarginsConverter.cs
- OleDbPermission.cs
- StaticResourceExtension.cs
- AuthenticationService.cs
- ToolStripPanelCell.cs
- DispatcherExceptionFilterEventArgs.cs
- WebPartUserCapability.cs
- XamlReaderHelper.cs
- Triplet.cs
- JsonByteArrayDataContract.cs
- LicFileLicenseProvider.cs
- ChangeTracker.cs
- SqlConnectionString.cs
- SpnegoTokenAuthenticator.cs
- StartUpEventArgs.cs
- Internal.cs
- DataViewListener.cs
- OneWayChannelFactory.cs
- QueuedDeliveryRequirementsMode.cs
- StyleBamlRecordReader.cs
- MultilineStringConverter.cs
- TeredoHelper.cs
- CodeDomConfigurationHandler.cs
- FrameworkContentElement.cs
- ContactManager.cs
- UnicastIPAddressInformationCollection.cs
- WaitForChangedResult.cs
- RadioButton.cs
- ManualResetEvent.cs
- InvalidOleVariantTypeException.cs
- SliderAutomationPeer.cs
- GeometryGroup.cs
- Command.cs
- WeakReadOnlyCollection.cs
- Crc32Helper.cs
- FileDialogCustomPlace.cs
- UnmanagedMemoryStream.cs
- JapaneseCalendar.cs
- IdentityValidationException.cs
- TypefaceMetricsCache.cs
- DictionarySectionHandler.cs
- EventRoute.cs
- EdmConstants.cs
- SystemPens.cs
- CryptoKeySecurity.cs
- PropertySegmentSerializationProvider.cs
- AppDomainUnloadedException.cs
- DbConnectionPoolOptions.cs
- Soap12FormatExtensions.cs
- CertificateReferenceElement.cs
- SapiRecognizer.cs
- ObjectDataSourceMethodEventArgs.cs
- StyleBamlTreeBuilder.cs
- CompositeCollectionView.cs
- TransformerTypeCollection.cs
- SmiEventSink.cs
- dbdatarecord.cs
- CheckBoxAutomationPeer.cs
- PropertiesTab.cs
- PolicyStatement.cs
- HashHelper.cs
- SafeCryptContextHandle.cs
- Parameter.cs
- WebAdminConfigurationHelper.cs
- DrawTreeNodeEventArgs.cs
- DeobfuscatingStream.cs
- CmsInterop.cs
- PropertyGridView.cs
- SystemParameters.cs
- ControlBindingsCollection.cs
- SapiRecoInterop.cs
- InstanceDataCollectionCollection.cs
- iisPickupDirectory.cs
- XmlnsDictionary.cs
- SQLDecimal.cs
- SqlConnectionFactory.cs
- QuadraticBezierSegment.cs
- ImageClickEventArgs.cs
- SpeakProgressEventArgs.cs
- BooleanAnimationBase.cs
- Translator.cs
- WindowInteractionStateTracker.cs
- PasswordRecovery.cs
- FreezableOperations.cs
- SBCSCodePageEncoding.cs
- MessageQueueConverter.cs
- QilNode.cs
- CodeDelegateInvokeExpression.cs
- MethodCallConverter.cs
- ScrollEvent.cs
- WizardDesigner.cs
- PageAsyncTaskManager.cs
- SelectedGridItemChangedEvent.cs
- CacheRequest.cs
- RemotingConfigParser.cs
- NullableDecimalSumAggregationOperator.cs
- BindingParameterCollection.cs
- BlockCollection.cs
- Message.cs
- CodeDirectionExpression.cs