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
- RelationshipManager.cs
- AttributeExtensions.cs
- WSAddressing10ProblemHeaderQNameFault.cs
- ExcCanonicalXml.cs
- SqlProviderManifest.cs
- DesigntimeLicenseContext.cs
- Byte.cs
- Attribute.cs
- WorkflowTransactionService.cs
- CapabilitiesUse.cs
- SystemColors.cs
- WmlSelectionListAdapter.cs
- ElementFactory.cs
- TextSelectionHighlightLayer.cs
- DragDropManager.cs
- _HeaderInfoTable.cs
- DataControlFieldsEditor.cs
- NominalTypeEliminator.cs
- ParameterCollectionEditorForm.cs
- Sentence.cs
- EntityStoreSchemaGenerator.cs
- StringCollection.cs
- EncoderBestFitFallback.cs
- PhysicalAddress.cs
- SqlEnums.cs
- DataGridViewComboBoxEditingControl.cs
- PrintPageEvent.cs
- CodeDelegateCreateExpression.cs
- DebugController.cs
- RowSpanVector.cs
- SmiSettersStream.cs
- SqlCaseSimplifier.cs
- SID.cs
- BitmapEffect.cs
- GeneralTransform3DCollection.cs
- ToolStripControlHost.cs
- VideoDrawing.cs
- ExpandCollapseProviderWrapper.cs
- DPTypeDescriptorContext.cs
- TextRunCacheImp.cs
- DelegatedStream.cs
- Stack.cs
- SecurityContextSecurityTokenResolver.cs
- ColumnPropertiesGroup.cs
- CalculatedColumn.cs
- ProviderBase.cs
- BasePattern.cs
- ModuleBuilderData.cs
- OutputCacheSettingsSection.cs
- DurableMessageDispatchInspector.cs
- Grid.cs
- ProjectionCamera.cs
- ArraySubsetEnumerator.cs
- OverlappedAsyncResult.cs
- ConcurrentDictionary.cs
- DefaultCommandConverter.cs
- ConfigurationElementCollection.cs
- XmlReflectionMember.cs
- TextBoxDesigner.cs
- RichTextBoxDesigner.cs
- CheckBoxList.cs
- WindowsSlider.cs
- FilteredReadOnlyMetadataCollection.cs
- StateMachineAction.cs
- HostSecurityManager.cs
- FacetValues.cs
- LookupBindingPropertiesAttribute.cs
- ManipulationDevice.cs
- BrowsableAttribute.cs
- XhtmlConformanceSection.cs
- Transform.cs
- AdRotator.cs
- AuthenticationModuleElementCollection.cs
- FontFamily.cs
- DiscoveryReferences.cs
- TypeLibConverter.cs
- NamedElement.cs
- StrongNamePublicKeyBlob.cs
- BaseAppDomainProtocolHandler.cs
- CodeSnippetTypeMember.cs
- CheckedPointers.cs
- Calendar.cs
- AnonymousIdentificationModule.cs
- CrossAppDomainChannel.cs
- SubMenuStyle.cs
- BounceEase.cs
- FrameworkContentElementAutomationPeer.cs
- Axis.cs
- Peer.cs
- PrintDialogException.cs
- WorkflowStateRollbackService.cs
- ListBoxItem.cs
- IsolatedStorageFileStream.cs
- EntityDataSourceChangingEventArgs.cs
- IPGlobalProperties.cs
- XhtmlBasicObjectListAdapter.cs
- MethodRental.cs
- followingquery.cs
- LogicalExpr.cs
- Matrix3DConverter.cs