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
- UInt32.cs
- RemotingConfigParser.cs
- GlobalItem.cs
- ICollection.cs
- ListDesigner.cs
- Point3DAnimationBase.cs
- ExpandedProjectionNode.cs
- ListCommandEventArgs.cs
- DrawingAttributes.cs
- SqlConnectionPoolProviderInfo.cs
- DataShape.cs
- WebSysDescriptionAttribute.cs
- MetadataArtifactLoaderFile.cs
- ExpressionBuilderContext.cs
- ClientUtils.cs
- IgnoreSectionHandler.cs
- TrackingStringDictionary.cs
- SmtpFailedRecipientException.cs
- precedingquery.cs
- DebugController.cs
- IssuanceLicense.cs
- complextypematerializer.cs
- LinqTreeNodeEvaluator.cs
- TrustManagerMoreInformation.cs
- DesignerActionTextItem.cs
- TrustLevel.cs
- ListViewDeletedEventArgs.cs
- TitleStyle.cs
- ConnectivityStatus.cs
- SafeNativeMethodsCLR.cs
- RowType.cs
- Stream.cs
- PackWebRequest.cs
- SecUtil.cs
- DbConnectionPoolGroupProviderInfo.cs
- AgileSafeNativeMemoryHandle.cs
- _WinHttpWebProxyDataBuilder.cs
- FontFamilyValueSerializer.cs
- UriScheme.cs
- IisTraceListener.cs
- RuntimeEnvironment.cs
- SqlExpander.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- UrlMapping.cs
- InputMethodStateTypeInfo.cs
- BindingSource.cs
- CustomWebEventKey.cs
- TextRangeEditLists.cs
- TransformerTypeCollection.cs
- ConsumerConnectionPointCollection.cs
- AttributeProviderAttribute.cs
- DocumentGridPage.cs
- WindowsListViewItemStartMenu.cs
- ProxyGenerationError.cs
- Codec.cs
- DesignerVerbToolStripMenuItem.cs
- Typeface.cs
- StringDictionary.cs
- WebDisplayNameAttribute.cs
- DesignerDataColumn.cs
- PlainXmlDeserializer.cs
- Win32KeyboardDevice.cs
- OpenFileDialog.cs
- StopRoutingHandler.cs
- WebScriptEnablingBehavior.cs
- ClientConfigurationHost.cs
- Constraint.cs
- AutomationElementCollection.cs
- DefaultTextStoreTextComposition.cs
- ResponseStream.cs
- XmlCountingReader.cs
- SoapHeader.cs
- PersonalizationProviderCollection.cs
- DomainLiteralReader.cs
- ChangeTracker.cs
- AssemblyBuilderData.cs
- ImageConverter.cs
- XmlIlTypeHelper.cs
- NameValueFileSectionHandler.cs
- StyleSheetComponentEditor.cs
- Choices.cs
- ThemeableAttribute.cs
- CqlWriter.cs
- TypeReference.cs
- UserPersonalizationStateInfo.cs
- PeerResolverMode.cs
- TransformCollection.cs
- FullTrustAssembliesSection.cs
- Int32CollectionConverter.cs
- Quaternion.cs
- GenericXmlSecurityTokenAuthenticator.cs
- SequenceFullException.cs
- InputMethodStateTypeInfo.cs
- Lease.cs
- SelectQueryOperator.cs
- ConsumerConnectionPointCollection.cs
- Convert.cs
- EdgeProfileValidation.cs
- GraphicsPath.cs
- SimpleTypeResolver.cs