Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Net / System / Net / Mail / SmtpDigestAuthenticationModule.cs / 1 / 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 } } // 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; // #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 } } // 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
- GuidelineCollection.cs
- MethodSignatureGenerator.cs
- HMACSHA512.cs
- SqlDataSourceQueryEditorForm.cs
- MouseOverProperty.cs
- SynchronousSendBindingElement.cs
- ApplicationHost.cs
- WebPartManagerInternals.cs
- BitmapEffect.cs
- ValidatorUtils.cs
- ImageFormatConverter.cs
- ErrorEventArgs.cs
- SqlTrackingWorkflowInstance.cs
- NavigatorOutput.cs
- HttpCookie.cs
- CacheChildrenQuery.cs
- SqlUnionizer.cs
- ProfilePropertyNameValidator.cs
- FileIOPermission.cs
- Stack.cs
- Cursor.cs
- WeakEventManager.cs
- SendMailErrorEventArgs.cs
- TopClause.cs
- BitmapImage.cs
- InvokePattern.cs
- PenThread.cs
- COM2IProvidePropertyBuilderHandler.cs
- ContainerUtilities.cs
- AndCondition.cs
- MatrixKeyFrameCollection.cs
- NamedObject.cs
- LocalBuilder.cs
- ResourceSet.cs
- RequestBringIntoViewEventArgs.cs
- ValueUnavailableException.cs
- TreeNodeEventArgs.cs
- TextOnlyOutput.cs
- DecoderReplacementFallback.cs
- LabelLiteral.cs
- MinimizableAttributeTypeConverter.cs
- DesignerResources.cs
- EllipseGeometry.cs
- DBBindings.cs
- BamlVersionHeader.cs
- CodeExpressionCollection.cs
- ThicknessKeyFrameCollection.cs
- WebServicesInteroperability.cs
- NativeMethods.cs
- CodePageEncoding.cs
- ThicknessAnimation.cs
- SchemaTableColumn.cs
- XmlWrappingReader.cs
- DataServiceResponse.cs
- MissingMemberException.cs
- ChannelFactory.cs
- RotateTransform3D.cs
- VideoDrawing.cs
- ElapsedEventArgs.cs
- RtfFormatStack.cs
- ObjectTag.cs
- PerspectiveCamera.cs
- DbParameterHelper.cs
- SignatureDescription.cs
- ToolStripSystemRenderer.cs
- InputBuffer.cs
- SqlStream.cs
- CLSCompliantAttribute.cs
- ProxyManager.cs
- OleDbWrapper.cs
- GroupBoxAutomationPeer.cs
- KeySplineConverter.cs
- Single.cs
- DetailsViewInsertEventArgs.cs
- UnaryNode.cs
- GridViewHeaderRowPresenter.cs
- QueueProcessor.cs
- MdiWindowListItemConverter.cs
- CqlGenerator.cs
- ChangePasswordAutoFormat.cs
- ToolStripItemTextRenderEventArgs.cs
- ElasticEase.cs
- AvtEvent.cs
- ReflectPropertyDescriptor.cs
- SamlAuthenticationStatement.cs
- SQLMoneyStorage.cs
- DataGridViewCellMouseEventArgs.cs
- AssociatedControlConverter.cs
- BaseTreeIterator.cs
- ManagedIStream.cs
- SQLMoneyStorage.cs
- IndexedSelectQueryOperator.cs
- AutomationPatternInfo.cs
- RequestUriProcessor.cs
- DEREncoding.cs
- ChangeNode.cs
- IProvider.cs
- Guid.cs
- ExceptionHandlersDesigner.cs
- ConfigXmlComment.cs