Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Selectors / SecurityTokenSerializer.cs / 1305376 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SerializerDescriptor.cs
- SiteMapNodeItemEventArgs.cs
- SqlDependency.cs
- LogicalMethodInfo.cs
- CompositeFontParser.cs
- AutoGeneratedField.cs
- GPPOINTF.cs
- SmiRequestExecutor.cs
- SQLInt16.cs
- X509Utils.cs
- complextypematerializer.cs
- EdmProviderManifest.cs
- Dictionary.cs
- Statements.cs
- PostBackOptions.cs
- HttpRequest.cs
- XmlSerializerAssemblyAttribute.cs
- httpapplicationstate.cs
- UpWmlMobileTextWriter.cs
- GridViewCancelEditEventArgs.cs
- BamlRecordWriter.cs
- SeekStoryboard.cs
- XPathExpr.cs
- GlyphRun.cs
- DataGridViewTopRowAccessibleObject.cs
- ConstraintConverter.cs
- COMException.cs
- StorageBasedPackageProperties.cs
- AuthenticatedStream.cs
- DeflateEmulationStream.cs
- ControlPropertyNameConverter.cs
- ScriptReference.cs
- CodeNamespace.cs
- XmlSchemaAnyAttribute.cs
- FixedHighlight.cs
- bindurihelper.cs
- WebHttpElement.cs
- ListParaClient.cs
- HashJoinQueryOperatorEnumerator.cs
- ControlAdapter.cs
- DocumentPage.cs
- TriggerCollection.cs
- DBBindings.cs
- Win32NamedPipes.cs
- MembershipPasswordException.cs
- ADMembershipUser.cs
- RuntimeCompatibilityAttribute.cs
- ApplicationServicesHostFactory.cs
- MailHeaderInfo.cs
- TemplateLookupAction.cs
- AmbientLight.cs
- MembershipPasswordException.cs
- ColorPalette.cs
- CommonObjectSecurity.cs
- PageHandlerFactory.cs
- TableCellCollection.cs
- DataGridViewAutoSizeModeEventArgs.cs
- SequenceDesigner.cs
- DebuggerAttributes.cs
- UndirectedGraph.cs
- DebuggerAttributes.cs
- LineGeometry.cs
- OleAutBinder.cs
- XpsFontSerializationService.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- TraceContext.cs
- ArraySegment.cs
- MultiBinding.cs
- PropertyNames.cs
- ObjectDataSourceFilteringEventArgs.cs
- FileChangesMonitor.cs
- UnsafeNativeMethods.cs
- Light.cs
- RootBrowserWindow.cs
- ColumnClickEvent.cs
- DataShape.cs
- DbMetaDataFactory.cs
- IgnoreFileBuildProvider.cs
- DeflateStream.cs
- DataServiceEntityAttribute.cs
- PropertyReference.cs
- SqlDataSourceCommandParser.cs
- ProviderManager.cs
- HtmlSelectionListAdapter.cs
- Speller.cs
- XmlDesigner.cs
- localization.cs
- TextProperties.cs
- StringExpressionSet.cs
- OptimizedTemplateContentHelper.cs
- PanelContainerDesigner.cs
- IntSecurity.cs
- XamlSerializer.cs
- EntityContainer.cs
- XmlEncoding.cs
- LabelEditEvent.cs
- ReachUIElementCollectionSerializer.cs
- TextEndOfParagraph.cs
- StateWorkerRequest.cs
- Encoding.cs