Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / SmtpDigestAuthenticationModule.cs / 1305376 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlWrappingReader.cs
- PropertyIDSet.cs
- SubMenuStyleCollection.cs
- UndoEngine.cs
- WorkItem.cs
- MetadataUtil.cs
- DeferredReference.cs
- DataSetFieldSchema.cs
- ResXResourceSet.cs
- NavigationWindow.cs
- PostBackOptions.cs
- userdatakeys.cs
- MoveSizeWinEventHandler.cs
- ComponentChangedEvent.cs
- SerializationSectionGroup.cs
- ComponentManagerBroker.cs
- tabpagecollectioneditor.cs
- RenderData.cs
- ConfigXmlReader.cs
- MachineKeyConverter.cs
- SQLDecimal.cs
- GenericTypeParameterBuilder.cs
- UriWriter.cs
- RuntimeConfigurationRecord.cs
- PenThreadWorker.cs
- Window.cs
- LifetimeServices.cs
- NotifyIcon.cs
- Merger.cs
- Tokenizer.cs
- SimpleType.cs
- URLIdentityPermission.cs
- CancellationState.cs
- RegistrationServices.cs
- WSDualHttpBindingElement.cs
- odbcmetadatafactory.cs
- XmlSchemaAny.cs
- DataChangedEventManager.cs
- InstanceCreationEditor.cs
- SqlNotificationRequest.cs
- MemoryPressure.cs
- Triplet.cs
- XamlStyleSerializer.cs
- _AcceptOverlappedAsyncResult.cs
- EntityDataSourceSelectedEventArgs.cs
- WebPartDisplayModeEventArgs.cs
- ProfileSettings.cs
- ExpressionBinding.cs
- ReaderWriterLockWrapper.cs
- DataGridViewColumnStateChangedEventArgs.cs
- XmlValidatingReaderImpl.cs
- TreeViewImageKeyConverter.cs
- SQLSingle.cs
- EventKeyword.cs
- ObjectDataSourceStatusEventArgs.cs
- TreeNodeStyle.cs
- SolidBrush.cs
- CaseStatementSlot.cs
- DirectoryObjectSecurity.cs
- TextServicesCompartmentEventSink.cs
- FixedSOMTableRow.cs
- RegexMatchCollection.cs
- ProcessExitedException.cs
- GeneralTransform3DGroup.cs
- ToolStripRendererSwitcher.cs
- Decimal.cs
- _ListenerAsyncResult.cs
- HttpModulesSection.cs
- Trace.cs
- PropertyPath.cs
- EditorServiceContext.cs
- GCHandleCookieTable.cs
- CompoundFileDeflateTransform.cs
- RawStylusSystemGestureInputReport.cs
- DataServiceException.cs
- XmlToDatasetMap.cs
- SqlConnectionFactory.cs
- PriorityBinding.cs
- StreamHelper.cs
- UrlMapping.cs
- EntityDesignPluralizationHandler.cs
- sortedlist.cs
- SafeFileMapViewHandle.cs
- ResourceProperty.cs
- SqlStream.cs
- ActivityPreviewDesigner.cs
- FixedHyperLink.cs
- Claim.cs
- PropertyGeneratedEventArgs.cs
- SafeSecurityHelper.cs
- WriteTimeStream.cs
- DrawingGroup.cs
- FileDialog.cs
- PtsContext.cs
- ColorConvertedBitmapExtension.cs
- ExecutorLocksHeldException.cs
- FileDetails.cs
- StreamSecurityUpgradeAcceptor.cs
- MessageEnumerator.cs
- SectionUpdates.cs