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
- PublisherIdentityPermission.cs
- HScrollBar.cs
- EntityDataSourceState.cs
- UriSectionData.cs
- WebPartZoneCollection.cs
- DependencyObjectPropertyDescriptor.cs
- SoapInteropTypes.cs
- UriParserTemplates.cs
- NonVisualControlAttribute.cs
- IpcChannel.cs
- PropertyGridDesigner.cs
- CaseStatement.cs
- PageRanges.cs
- MultiAsyncResult.cs
- EmulateRecognizeCompletedEventArgs.cs
- ColumnMap.cs
- AppSettingsReader.cs
- SerializableAttribute.cs
- SocketException.cs
- TextBounds.cs
- TrailingSpaceComparer.cs
- ExpressionCopier.cs
- FormViewInsertEventArgs.cs
- PenCursorManager.cs
- PagesChangedEventArgs.cs
- DetailsViewInsertedEventArgs.cs
- TextEditorSpelling.cs
- ObjectIDGenerator.cs
- webeventbuffer.cs
- BaseDataListComponentEditor.cs
- KeyConverter.cs
- CodeTypeMember.cs
- DataControlHelper.cs
- PopOutPanel.cs
- UnmanagedMemoryStream.cs
- AnnotationAdorner.cs
- ErrorStyle.cs
- DeviceFiltersSection.cs
- OdbcDataAdapter.cs
- Binding.cs
- DefaultAuthorizationContext.cs
- LOSFormatter.cs
- QfeChecker.cs
- ConstraintConverter.cs
- BinaryCommonClasses.cs
- TimeoutTimer.cs
- ReplyChannel.cs
- ConfigXmlComment.cs
- EmptyCollection.cs
- InstalledVoice.cs
- RawStylusInputReport.cs
- OrderedEnumerableRowCollection.cs
- DataObjectEventArgs.cs
- BCryptSafeHandles.cs
- InvokeWebServiceDesigner.cs
- XmlCDATASection.cs
- OleDbStruct.cs
- PopupControlService.cs
- ConnectionsZone.cs
- BeginGetFileNameFromUserRequest.cs
- UserControlCodeDomTreeGenerator.cs
- SizeChangedInfo.cs
- XmlArrayItemAttribute.cs
- AccessText.cs
- CubicEase.cs
- DefaultMemberAttribute.cs
- GridItemPattern.cs
- LoggedException.cs
- DefaultTextStoreTextComposition.cs
- VerificationAttribute.cs
- SqlCacheDependency.cs
- RectAnimationUsingKeyFrames.cs
- Compiler.cs
- TimerEventSubscription.cs
- ReachPageContentCollectionSerializerAsync.cs
- InputLanguageManager.cs
- ExpressionParser.cs
- EditableRegion.cs
- TextElementEditingBehaviorAttribute.cs
- Accessible.cs
- Misc.cs
- HttpCacheVaryByContentEncodings.cs
- MessageFilter.cs
- OverrideMode.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- FactoryRecord.cs
- ConstNode.cs
- BinaryObjectReader.cs
- OdbcConnection.cs
- FrameworkContextData.cs
- MetadataSource.cs
- StructuralCache.cs
- ReferenceEqualityComparer.cs
- BaseConfigurationRecord.cs
- CodeExpressionRuleDeclaration.cs
- ProgressBarRenderer.cs
- Win32PrintDialog.cs
- TextElementCollection.cs
- ICollection.cs
- MethodBody.cs