Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Net / System / Net / Mail / SmtpDigestAuthenticationModule.cs / 2 / SmtpDigestAuthenticationModule.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Mail { using System; using System.Collections; using System.IO; using System.Net; using System.Security.Permissions; using System.Security.Authentication.ExtendedProtection; // #if MAKE_MAILCLIENT_PUBLIC internal #else internal #endif class SmtpDigestAuthenticationModule : ISmtpAuthenticationModule { Hashtable sessions = new Hashtable(); internal SmtpDigestAuthenticationModule() { } #region ISmtpAuthenticationModule Members // Security this method will access NetworkCredential properties that demand UnmanagedCode and Environment Permission [EnvironmentPermission(SecurityAction.Assert, Unrestricted = true)] [SecurityPermission(SecurityAction.Assert, Flags = SecurityPermissionFlag.UnmanagedCode)] public Authorization Authenticate(string challenge, NetworkCredential credential, object sessionCookie, string spn, ChannelBinding channelBindingToken) { lock (this.sessions) { NTAuthentication clientContext = this.sessions[sessionCookie] as NTAuthentication; if (clientContext == null) { if (credential == null){ return null; } // this.sessions[sessionCookie] = clientContext = new NTAuthentication(false, "WDigest", credential, spn, ContextFlags.Connection, channelBindingToken); } string resp = clientContext.GetOutgoingBlob(challenge); if (!clientContext.IsCompleted) { return new Authorization(resp, false); } else { this.sessions.Remove(sessionCookie); return new Authorization(resp, true); } } } public string AuthenticationType { get { return "WDigest"; } } public void CloseContext(object sessionCookie) { // This is a no-op since the context is not // kept open by this module beyond auth completion. } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Mail { using System; using System.Collections; using System.IO; using System.Net; using System.Security.Permissions; using System.Security.Authentication.ExtendedProtection; // #if MAKE_MAILCLIENT_PUBLIC internal #else internal #endif class SmtpDigestAuthenticationModule : ISmtpAuthenticationModule { Hashtable sessions = new Hashtable(); internal SmtpDigestAuthenticationModule() { } #region ISmtpAuthenticationModule Members // Security this method will access NetworkCredential properties that demand UnmanagedCode and Environment Permission [EnvironmentPermission(SecurityAction.Assert, Unrestricted = true)] [SecurityPermission(SecurityAction.Assert, Flags = SecurityPermissionFlag.UnmanagedCode)] public Authorization Authenticate(string challenge, NetworkCredential credential, object sessionCookie, string spn, ChannelBinding channelBindingToken) { lock (this.sessions) { NTAuthentication clientContext = this.sessions[sessionCookie] as NTAuthentication; if (clientContext == null) { if (credential == null){ return null; } // this.sessions[sessionCookie] = clientContext = new NTAuthentication(false, "WDigest", credential, spn, ContextFlags.Connection, channelBindingToken); } string resp = clientContext.GetOutgoingBlob(challenge); if (!clientContext.IsCompleted) { return new Authorization(resp, false); } else { this.sessions.Remove(sessionCookie); return new Authorization(resp, true); } } } public string AuthenticationType { get { return "WDigest"; } } public void CloseContext(object sessionCookie) { // This is a no-op since the context is not // kept open by this module beyond auth completion. } #endregion } } // 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
- XmlSerializerSection.cs
- LOSFormatter.cs
- SimpleFieldTemplateFactory.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- SessionPageStatePersister.cs
- TextAction.cs
- WebPartUserCapability.cs
- EntityObject.cs
- XmlSchemaSimpleTypeRestriction.cs
- DataGridItem.cs
- _SafeNetHandles.cs
- PropertyGeneratedEventArgs.cs
- HitTestParameters3D.cs
- BaseValidator.cs
- FixedDocumentSequencePaginator.cs
- SessionIDManager.cs
- sitestring.cs
- IriParsingElement.cs
- TreeViewDesigner.cs
- HttpConfigurationContext.cs
- TextTrailingWordEllipsis.cs
- AnimatedTypeHelpers.cs
- TableParagraph.cs
- TrayIconDesigner.cs
- TrimSurroundingWhitespaceAttribute.cs
- ThreadStateException.cs
- MenuItem.cs
- RepeatBehavior.cs
- StylusTip.cs
- CommandHelpers.cs
- SharedStatics.cs
- ProviderBase.cs
- ObjectMemberMapping.cs
- TimerEventSubscription.cs
- ElementProxy.cs
- DocumentPageTextView.cs
- SctClaimDictionary.cs
- Inline.cs
- UnsafeNativeMethodsCLR.cs
- RuntimeHelpers.cs
- PropertyDescriptorGridEntry.cs
- Form.cs
- ComponentDesigner.cs
- ProfileProvider.cs
- HttpResponseHeader.cs
- XmlSchema.cs
- ProfileSection.cs
- SystemSounds.cs
- DataErrorValidationRule.cs
- ResourceExpression.cs
- DropTarget.cs
- ObjectParameterCollection.cs
- BufferedWebEventProvider.cs
- FastEncoderWindow.cs
- ValueUnavailableException.cs
- SerTrace.cs
- ToolStripMenuItemCodeDomSerializer.cs
- ServiceNameCollection.cs
- BookmarkWorkItem.cs
- XmlIlTypeHelper.cs
- Renderer.cs
- Screen.cs
- StrokeFIndices.cs
- DbMetaDataCollectionNames.cs
- BaseCAMarshaler.cs
- XmlSchemaSet.cs
- ServiceBusyException.cs
- DataGridViewRowConverter.cs
- ConfigurationSchemaErrors.cs
- JsonByteArrayDataContract.cs
- MenuItem.cs
- BrowserCapabilitiesFactory35.cs
- SafeLocalAllocation.cs
- SynchronizationContext.cs
- DoubleAnimationUsingPath.cs
- Formatter.cs
- DocumentStream.cs
- SetterBaseCollection.cs
- ClonableStack.cs
- FlowDocumentReaderAutomationPeer.cs
- FileLevelControlBuilderAttribute.cs
- Line.cs
- BrowserCapabilitiesFactory.cs
- OdbcConnectionPoolProviderInfo.cs
- safesecurityhelperavalon.cs
- SafeViewOfFileHandle.cs
- XLinq.cs
- ImageMap.cs
- ClassDataContract.cs
- ListItemViewControl.cs
- ValueTypeFixupInfo.cs
- Splitter.cs
- GenericsInstances.cs
- CodeTypeOfExpression.cs
- ObjectToken.cs
- SpecularMaterial.cs
- SqlUtils.cs
- Label.cs
- MetadataLocation.cs
- SqlFileStream.cs