Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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; // #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) { 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,null, ContextFlags.Connection); } string resp = (challenge != null ? clientContext.GetOutgoingBlob(challenge) : clientContext.GetOutgoingBlob(null)); 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 } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ControlBuilderAttribute.cs
- GuidelineCollection.cs
- MultipartIdentifier.cs
- ErrorWebPart.cs
- ChannelFactoryRefCache.cs
- TemplateControl.cs
- ValueExpressions.cs
- unitconverter.cs
- serverconfig.cs
- ToolboxItemAttribute.cs
- ConnectionStringsExpressionEditor.cs
- ViewLoader.cs
- ComNativeDescriptor.cs
- GrammarBuilder.cs
- OleAutBinder.cs
- GorillaCodec.cs
- AggregateException.cs
- ToolboxComponentsCreatingEventArgs.cs
- EditingCommands.cs
- HtmlSelect.cs
- ChineseLunisolarCalendar.cs
- SchemaImporterExtensionsSection.cs
- ControlCollection.cs
- Delegate.cs
- StateBag.cs
- ConfigXmlAttribute.cs
- WebPartManagerInternals.cs
- MatrixAnimationUsingPath.cs
- CodeTypeReferenceExpression.cs
- __Filters.cs
- ConfigXmlWhitespace.cs
- NameObjectCollectionBase.cs
- AsymmetricKeyExchangeDeformatter.cs
- ToolStripPanelRenderEventArgs.cs
- InputScope.cs
- WebServiceData.cs
- InstanceDescriptor.cs
- XmlTextReaderImplHelpers.cs
- ExpressionBuilder.cs
- SecurityListenerSettingsLifetimeManager.cs
- HttpCacheVary.cs
- LayoutEngine.cs
- Scene3D.cs
- XhtmlBasicListAdapter.cs
- InputBinder.cs
- XmlDataProvider.cs
- ObjectDataSourceDisposingEventArgs.cs
- SmiContextFactory.cs
- RbTree.cs
- WebRequest.cs
- TransformerInfoCollection.cs
- StylusButtonCollection.cs
- BitmapEffectDrawingContent.cs
- CqlIdentifiers.cs
- CngProvider.cs
- MarkupWriter.cs
- DescendantBaseQuery.cs
- ReadOnlyNameValueCollection.cs
- DiffuseMaterial.cs
- SqlBulkCopy.cs
- ScrollContentPresenter.cs
- Visitors.cs
- Assert.cs
- ValidationErrorCollection.cs
- QilGenerator.cs
- CommunicationObjectManager.cs
- KerberosSecurityTokenParameters.cs
- FormsAuthenticationUserCollection.cs
- BindingExpressionBase.cs
- Image.cs
- NativeWindow.cs
- ListViewTableCell.cs
- OrElse.cs
- StorageInfo.cs
- X509CertificateChain.cs
- ElementAtQueryOperator.cs
- DataTableReaderListener.cs
- PropertyPushdownHelper.cs
- DataTableMapping.cs
- IriParsingElement.cs
- ZipPackage.cs
- LabelDesigner.cs
- brushes.cs
- IncrementalReadDecoders.cs
- CachedPathData.cs
- DefaultParameterValueAttribute.cs
- DomainLiteralReader.cs
- HybridDictionary.cs
- EventSinkActivityDesigner.cs
- ObjectHandle.cs
- OpenTypeCommon.cs
- BasePropertyDescriptor.cs
- BindingGroup.cs
- SecurityHeader.cs
- AppliedDeviceFiltersEditor.cs
- ProfileService.cs
- FlowDocumentScrollViewer.cs
- CLRBindingWorker.cs
- DataGridViewDataConnection.cs
- SqlDataReaderSmi.cs