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
- LoadedOrUnloadedOperation.cs
- SelectedDatesCollection.cs
- ColorTranslator.cs
- DocumentReference.cs
- ContractsBCL.cs
- DoubleCollection.cs
- Repeater.cs
- MultiByteCodec.cs
- AxDesigner.cs
- CounterSetInstanceCounterDataSet.cs
- MissingMethodException.cs
- BamlRecordReader.cs
- TableProviderWrapper.cs
- XmlLanguageConverter.cs
- FlowLayout.cs
- HtmlWindow.cs
- DirectionalLight.cs
- DataGridViewTextBoxCell.cs
- PrintController.cs
- KeyedCollection.cs
- GeneralTransform2DTo3D.cs
- DataControlPagerLinkButton.cs
- HttpWebResponse.cs
- EditorPartChrome.cs
- TemplateKeyConverter.cs
- DataBindingExpressionBuilder.cs
- XmlILConstructAnalyzer.cs
- ImageClickEventArgs.cs
- XmlDocument.cs
- ProfileSection.cs
- Visual3D.cs
- NgenServicingAttributes.cs
- StringFunctions.cs
- XPathScanner.cs
- ValueUnavailableException.cs
- PriorityChain.cs
- SatelliteContractVersionAttribute.cs
- OracleConnection.cs
- ApplicationException.cs
- ThreadAttributes.cs
- SoapWriter.cs
- WebPartPersonalization.cs
- EntityDesignerDataSourceView.cs
- UserNameSecurityTokenProvider.cs
- RegexWriter.cs
- odbcmetadatafactory.cs
- DifferencingCollection.cs
- ComboBox.cs
- BadImageFormatException.cs
- EditorPartCollection.cs
- VisualStyleElement.cs
- TcpClientCredentialType.cs
- Trace.cs
- ITextView.cs
- ElementHostPropertyMap.cs
- Relationship.cs
- ContainerSelectorBehavior.cs
- MenuItemBinding.cs
- ReadOnlyDataSource.cs
- VisualTarget.cs
- CommandValueSerializer.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- BlockUIContainer.cs
- DataGridViewLinkColumn.cs
- PartitionedDataSource.cs
- CookieProtection.cs
- RedirectionProxy.cs
- ProofTokenCryptoHandle.cs
- SqlSelectStatement.cs
- XmlSchemaSimpleTypeUnion.cs
- BaseProcessProtocolHandler.cs
- Debug.cs
- Vector3D.cs
- SecurityTokenRequirement.cs
- PageCodeDomTreeGenerator.cs
- DrawItemEvent.cs
- Component.cs
- HttpCacheParams.cs
- WrapperSecurityCommunicationObject.cs
- ServiceManager.cs
- cookieexception.cs
- DiscreteKeyFrames.cs
- DateTimeSerializationSection.cs
- XmlNamespaceManager.cs
- TextContainerChangeEventArgs.cs
- ChtmlTextWriter.cs
- SecureStringHasher.cs
- BinaryFormatterWriter.cs
- ComponentSerializationService.cs
- ProcessModelInfo.cs
- SetIterators.cs
- PasswordTextNavigator.cs
- _AutoWebProxyScriptEngine.cs
- ListViewSelectEventArgs.cs
- ListViewItemEventArgs.cs
- HMACSHA1.cs
- TypedElement.cs
- SqlInternalConnection.cs
- ScriptingSectionGroup.cs
- XmlSchemaValidationException.cs