Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / Mail / SmtpNtlmAuthenticationModule.cs / 2 / SmtpNtlmAuthenticationModule.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 SmtpNtlmAuthenticationModule : ISmtpAuthenticationModule { Hashtable sessions = new Hashtable(); internal SmtpNtlmAuthenticationModule() { } #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) { if(Logging.On)Logging.Enter(Logging.Web, this, "Authenticate", null); try { 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,"Ntlm",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); } } } finally { if(Logging.On)Logging.Exit(Logging.Web, this, "Authenticate", null); } } public string AuthenticationType { get { return "ntlm"; } } 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
- AvTraceFormat.cs
- PhysicalOps.cs
- TabPage.cs
- XmlLanguageConverter.cs
- DesignerUtils.cs
- Ports.cs
- DrawingCollection.cs
- CodeDomDesignerLoader.cs
- ConfigPathUtility.cs
- BadImageFormatException.cs
- InkCanvasSelectionAdorner.cs
- CounterCreationData.cs
- StructuredTypeEmitter.cs
- ContentDisposition.cs
- HttpModulesSection.cs
- DecoderFallbackWithFailureFlag.cs
- SiteMap.cs
- ControlCommandSet.cs
- DataBindEngine.cs
- AppendHelper.cs
- PointCollection.cs
- SpotLight.cs
- SystemUdpStatistics.cs
- PartitionResolver.cs
- MarkupWriter.cs
- mansign.cs
- NestedContainer.cs
- TextTreeUndo.cs
- SBCSCodePageEncoding.cs
- DbFunctionCommandTree.cs
- SQLByteStorage.cs
- XmlReaderDelegator.cs
- IDQuery.cs
- ListenerElementsCollection.cs
- RegexGroup.cs
- WebPartManager.cs
- IisTraceWebEventProvider.cs
- EventEntry.cs
- SqlUnionizer.cs
- DrawingContextWalker.cs
- DaylightTime.cs
- compensatingcollection.cs
- PointHitTestParameters.cs
- ScrollPattern.cs
- TextTreeObjectNode.cs
- Operator.cs
- ActivityDesignerLayoutSerializers.cs
- SoapSchemaMember.cs
- PingOptions.cs
- CommandTreeTypeHelper.cs
- ColorInterpolationModeValidation.cs
- IriParsingElement.cs
- WindowClosedEventArgs.cs
- ViewDesigner.cs
- RawStylusSystemGestureInputReport.cs
- SqlInfoMessageEvent.cs
- ParserStreamGeometryContext.cs
- XPathExpr.cs
- validationstate.cs
- CatchBlock.cs
- SHA1Cng.cs
- SqlUserDefinedAggregateAttribute.cs
- DataColumnChangeEvent.cs
- TextDecorationLocationValidation.cs
- NotImplementedException.cs
- Rotation3DAnimation.cs
- TripleDESCryptoServiceProvider.cs
- FileDialog.cs
- CodeStatement.cs
- VersionValidator.cs
- XmlNotation.cs
- ToolConsole.cs
- unsafenativemethodstextservices.cs
- ListBindingConverter.cs
- BitmapSizeOptions.cs
- ServiceModelConfigurationSection.cs
- ControlUtil.cs
- wgx_sdk_version.cs
- HtmlControl.cs
- MessageQueueTransaction.cs
- HttpWebResponse.cs
- AttributeParameterInfo.cs
- ParallelEnumerable.cs
- HiddenField.cs
- FontFamilyConverter.cs
- UnsafeNativeMethods.cs
- RtfFormatStack.cs
- CodeMethodInvokeExpression.cs
- DocComment.cs
- util.cs
- AttributeCollection.cs
- Environment.cs
- JsonDeserializer.cs
- RequestSecurityToken.cs
- UndirectedGraph.cs
- XmlTextEncoder.cs
- DataGridViewComponentPropertyGridSite.cs
- ReflectionHelper.cs
- DataGridViewRowConverter.cs
- RemotingConfigParser.cs