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
- SelectionRangeConverter.cs
- GlyphManager.cs
- RoutedEventArgs.cs
- GridLengthConverter.cs
- TranslateTransform.cs
- ScrollChrome.cs
- GridViewUpdatedEventArgs.cs
- CompilerGeneratedAttribute.cs
- SessionMode.cs
- ExpressionBindingCollection.cs
- HttpConfigurationContext.cs
- MenuCommands.cs
- DrawingImage.cs
- ConfigurationManagerInternalFactory.cs
- OracleBFile.cs
- EditBehavior.cs
- DeclaredTypeElement.cs
- RotateTransform.cs
- SchemaNamespaceManager.cs
- AdPostCacheSubstitution.cs
- SqlDataSourceParameterParser.cs
- RTLAwareMessageBox.cs
- WmfPlaceableFileHeader.cs
- InvalidPrinterException.cs
- TypedAsyncResult.cs
- Polyline.cs
- BrowserCapabilitiesCodeGenerator.cs
- Renderer.cs
- GetTokenRequest.cs
- HtmlProps.cs
- IntSecurity.cs
- HttpCacheParams.cs
- isolationinterop.cs
- DataGridViewControlCollection.cs
- ExpandableObjectConverter.cs
- EditingMode.cs
- AssociationSetEnd.cs
- SchemaCollectionPreprocessor.cs
- SafeMILHandle.cs
- WbmpConverter.cs
- Evidence.cs
- columnmapkeybuilder.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- ManipulationCompletedEventArgs.cs
- Itemizer.cs
- QilFunction.cs
- ExternalException.cs
- DetailsViewDeletedEventArgs.cs
- ServiceContractListItem.cs
- PrimaryKeyTypeConverter.cs
- ClientConfigurationSystem.cs
- DataRecord.cs
- PropertyGridEditorPart.cs
- OutputCacheSection.cs
- QueryAsyncResult.cs
- EmptyElement.cs
- XPathNavigatorKeyComparer.cs
- UdpDiscoveryEndpointProvider.cs
- PointValueSerializer.cs
- HtmlObjectListAdapter.cs
- SuppressMessageAttribute.cs
- DataBindingCollection.cs
- WindowsListViewItemCheckBox.cs
- SystemMulticastIPAddressInformation.cs
- SqlSelectStatement.cs
- DataGridViewTopLeftHeaderCell.cs
- VirtualizingPanel.cs
- ParameterToken.cs
- NativeCompoundFileAPIs.cs
- ScriptHandlerFactory.cs
- WebSysDescriptionAttribute.cs
- CheckBoxList.cs
- AspCompat.cs
- QueryNode.cs
- BinaryObjectInfo.cs
- ObservableDictionary.cs
- MemberAssignment.cs
- UIElementAutomationPeer.cs
- FlowLayoutPanel.cs
- CompensatableTransactionScopeActivityDesigner.cs
- ProcessModelInfo.cs
- HttpFileCollectionWrapper.cs
- PropertyGridCommands.cs
- BrowserDefinition.cs
- GlyphRunDrawing.cs
- OlePropertyStructs.cs
- FormsIdentity.cs
- XmlSchemaProviderAttribute.cs
- ExpressionParser.cs
- SafeHandle.cs
- ScopeCollection.cs
- IPPacketInformation.cs
- OracleTimeSpan.cs
- TextBoxAutoCompleteSourceConverter.cs
- ConcurrentQueue.cs
- DataGridViewUtilities.cs
- METAHEADER.cs
- ExceptionHandlerDesigner.cs
- CodeRegionDirective.cs
- FieldNameLookup.cs