Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Selectors / SecurityTokenSerializer.cs / 1 / SecurityTokenSerializer.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel.Selectors { using System.Xml; using System.IdentityModel.Tokens; ////// SecurityTokenSerializer is responsible for writing and reading SecurityKeyIdentifiers, SecurityKeyIdentifierClauses and SecurityTokens. /// In order to read SecurityTokens the SecurityTokenSerializer may need to resolve token references using the SecurityTokenResolvers that get passed in. /// The SecurityTokenSerializer is stateless /// Exceptions: XmlException, SecurityTokenException, NotSupportedException, InvalidOperationException, ArgumentException /// public abstract class SecurityTokenSerializer { // public methods public bool CanReadToken(XmlReader reader) { if (reader == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reader"); } return CanReadTokenCore(reader); ; } public bool CanWriteToken(SecurityToken token) { if (token == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("token"); } return CanWriteTokenCore(token); ; } public bool CanReadKeyIdentifier(XmlReader reader) { if (reader == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reader"); } return CanReadKeyIdentifierCore(reader); ; } public bool CanWriteKeyIdentifier(SecurityKeyIdentifier keyIdentifier) { if (keyIdentifier == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("keyIdentifier"); } return CanWriteKeyIdentifierCore(keyIdentifier); ; } public bool CanReadKeyIdentifierClause(XmlReader reader) { if (reader == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reader"); } return CanReadKeyIdentifierClauseCore(reader); ; } public bool CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause keyIdentifierClause) { if (keyIdentifierClause == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("keyIdentifierClause"); } return CanWriteKeyIdentifierClauseCore(keyIdentifierClause); ; } public SecurityToken ReadToken(XmlReader reader, SecurityTokenResolver tokenResolver) { if (reader == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reader"); } return ReadTokenCore(reader, tokenResolver); } public void WriteToken(XmlWriter writer, SecurityToken token) { if (writer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer"); } if (token == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("token"); } WriteTokenCore(writer, token); } public SecurityKeyIdentifier ReadKeyIdentifier(XmlReader reader) { if (reader == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reader"); } return ReadKeyIdentifierCore(reader); } public void WriteKeyIdentifier(XmlWriter writer, SecurityKeyIdentifier keyIdentifier) { if (writer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer"); } if (keyIdentifier == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("keyIdentifier"); } WriteKeyIdentifierCore(writer, keyIdentifier); } public SecurityKeyIdentifierClause ReadKeyIdentifierClause(XmlReader reader) { if (reader == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reader"); } return ReadKeyIdentifierClauseCore(reader); } public void WriteKeyIdentifierClause(XmlWriter writer, SecurityKeyIdentifierClause keyIdentifierClause) { if (writer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer"); } if (keyIdentifierClause == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("keyIdentifierClause"); } WriteKeyIdentifierClauseCore(writer, keyIdentifierClause); } // protected abstract methods protected abstract bool CanReadTokenCore(XmlReader reader); protected abstract bool CanWriteTokenCore(SecurityToken token); protected abstract bool CanReadKeyIdentifierCore(XmlReader reader); protected abstract bool CanWriteKeyIdentifierCore(SecurityKeyIdentifier keyIdentifier); protected abstract bool CanReadKeyIdentifierClauseCore(XmlReader reader); protected abstract bool CanWriteKeyIdentifierClauseCore(SecurityKeyIdentifierClause keyIdentifierClause); protected abstract SecurityToken ReadTokenCore(XmlReader reader, SecurityTokenResolver tokenResolver); protected abstract void WriteTokenCore(XmlWriter writer, SecurityToken token); protected abstract SecurityKeyIdentifier ReadKeyIdentifierCore(XmlReader reader); protected abstract void WriteKeyIdentifierCore(XmlWriter writer, SecurityKeyIdentifier keyIdentifier); protected abstract SecurityKeyIdentifierClause ReadKeyIdentifierClauseCore(XmlReader reader); protected abstract void WriteKeyIdentifierClauseCore(XmlWriter writer, SecurityKeyIdentifierClause keyIdentifierClause); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ObjectCacheHost.cs
- ComponentResourceKey.cs
- ProjectionCamera.cs
- TransformGroup.cs
- _RequestCacheProtocol.cs
- URLMembershipCondition.cs
- CachedBitmap.cs
- XmlNodeList.cs
- WebPartHelpVerb.cs
- ListView.cs
- TextPointer.cs
- EncryptedData.cs
- RemoteWebConfigurationHostStream.cs
- Button.cs
- CornerRadius.cs
- XmlnsCache.cs
- D3DImage.cs
- Encoder.cs
- DataGridViewCellCollection.cs
- TableLayoutSettingsTypeConverter.cs
- Gdiplus.cs
- DateTimeParse.cs
- Switch.cs
- Atom10FormatterFactory.cs
- LocatorBase.cs
- Baml6Assembly.cs
- xml.cs
- XmlChildEnumerator.cs
- ButtonFlatAdapter.cs
- SystemPens.cs
- DocumentGridContextMenu.cs
- OleStrCAMarshaler.cs
- FontDifferentiator.cs
- CriticalFileToken.cs
- SQLInt32.cs
- TextServicesDisplayAttributePropertyRanges.cs
- HierarchicalDataBoundControl.cs
- Registry.cs
- WizardForm.cs
- Metadata.cs
- Row.cs
- PageAsyncTask.cs
- BulletedListEventArgs.cs
- SpeechUI.cs
- ParseChildrenAsPropertiesAttribute.cs
- MatrixTransform3D.cs
- StorageAssociationTypeMapping.cs
- HttpModuleAction.cs
- AlternateView.cs
- RootNamespaceAttribute.cs
- MessageSecurityProtocolFactory.cs
- DispatcherProcessingDisabled.cs
- SerialPinChanges.cs
- TemplateKeyConverter.cs
- SizeValueSerializer.cs
- ByeMessage11.cs
- _SingleItemRequestCache.cs
- XmlEnumAttribute.cs
- PagesChangedEventArgs.cs
- ReceiveMessageContent.cs
- _LazyAsyncResult.cs
- LowerCaseStringConverter.cs
- ExpressionNormalizer.cs
- PatternMatchRules.cs
- ToolStripCodeDomSerializer.cs
- Item.cs
- SizeAnimationBase.cs
- BuildResultCache.cs
- ListBoxItemWrapperAutomationPeer.cs
- ISessionStateStore.cs
- InfoCardKeyedHashAlgorithm.cs
- CompiledRegexRunnerFactory.cs
- StorageModelBuildProvider.cs
- BaseHashHelper.cs
- SourceFileInfo.cs
- TargetException.cs
- DataSourceXmlSerializer.cs
- BrowserCapabilitiesCodeGenerator.cs
- TextRunCacheImp.cs
- ZipIOLocalFileHeader.cs
- SchemaTypeEmitter.cs
- SearchForVirtualItemEventArgs.cs
- DataGridViewLinkCell.cs
- FontNameEditor.cs
- ExtensionDataReader.cs
- FontFamilyValueSerializer.cs
- DataGridLengthConverter.cs
- DataGridViewCellEventArgs.cs
- XmlTextReader.cs
- TaiwanLunisolarCalendar.cs
- ActivityWithResultConverter.cs
- FontSource.cs
- DataServiceException.cs
- ColumnReorderedEventArgs.cs
- XPathNodeHelper.cs
- RectAnimationClockResource.cs
- ExtendedPropertyDescriptor.cs
- EncoderReplacementFallback.cs
- SqlDataSourceStatusEventArgs.cs
- C14NUtil.cs