Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / Mail / SmtpLoginAuthenticationModule.cs / 2 / SmtpLoginAuthenticationModule.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 SmtpLoginAuthenticationModule : ISmtpAuthenticationModule { Hashtable sessions = new Hashtable(); internal SmtpLoginAuthenticationModule() { } #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) { NetworkCredential cachedCredential = sessions[sessionCookie] as NetworkCredential; if (cachedCredential == null) { if (credential == null || credential is SystemNetworkCredential) { return null; } sessions[sessionCookie] = credential; string userName = credential.UserName; string domain = credential.Domain; if (domain!=null && domain.Length > 0) { userName = domain + "\\" + userName; } // return new Authorization(Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(userName)), false); } else { this.sessions.Remove(sessionCookie); // return new Authorization(Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(cachedCredential.Password)), true); } } } finally { if(Logging.On)Logging.Exit(Logging.Web, this, "Authenticate", null); } } public string AuthenticationType { get { return "login"; } } 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
- XamlPointCollectionSerializer.cs
- DataTableExtensions.cs
- OperationContractAttribute.cs
- SizeAnimationClockResource.cs
- BuildDependencySet.cs
- mactripleDES.cs
- ConfigurationPropertyAttribute.cs
- MultipleViewPattern.cs
- JavaScriptString.cs
- WindowsRebar.cs
- FileSystemInfo.cs
- InputElement.cs
- ChangesetResponse.cs
- DataGridViewRowCancelEventArgs.cs
- FederatedMessageSecurityOverHttp.cs
- control.ime.cs
- ColumnHeaderConverter.cs
- LabelEditEvent.cs
- ResourceManagerWrapper.cs
- connectionpool.cs
- RenderDataDrawingContext.cs
- NavigationWindow.cs
- ConfigurationManagerInternalFactory.cs
- DistributedTransactionPermission.cs
- AspProxy.cs
- GregorianCalendarHelper.cs
- EntitySetBase.cs
- ValueType.cs
- SqlConnectionFactory.cs
- OpenTypeLayoutCache.cs
- WaitHandle.cs
- XmlEntity.cs
- HttpChannelHelper.cs
- WsiProfilesElementCollection.cs
- ObjectNavigationPropertyMapping.cs
- StringUtil.cs
- SqlMultiplexer.cs
- PolyBezierSegment.cs
- Identifier.cs
- ErrorWrapper.cs
- TypeBuilder.cs
- ValidationRule.cs
- CopyOfAction.cs
- CheckedPointers.cs
- ElapsedEventArgs.cs
- Clipboard.cs
- _ProxyChain.cs
- RewritingValidator.cs
- XmlSchemaSimpleContent.cs
- HeaderUtility.cs
- WindowsHyperlink.cs
- LinqDataSourceDeleteEventArgs.cs
- DateTimeOffsetConverter.cs
- PngBitmapDecoder.cs
- ReceiveSecurityHeaderElementManager.cs
- AmbientValueAttribute.cs
- DiagnosticStrings.cs
- Composition.cs
- SqlClientWrapperSmiStream.cs
- FileCodeGroup.cs
- TableParaClient.cs
- ArrayHelper.cs
- DependencyObjectValidator.cs
- HtmlImage.cs
- EventHandlersStore.cs
- Events.cs
- DataRowView.cs
- TaskFileService.cs
- GridView.cs
- OneOfElement.cs
- HtmlInputReset.cs
- SqlNodeAnnotation.cs
- XPSSignatureDefinition.cs
- ReaderContextStackData.cs
- TrackingProfileDeserializationException.cs
- CompileLiteralTextParser.cs
- SignatureHelper.cs
- WaitHandle.cs
- Table.cs
- SpecularMaterial.cs
- GenericAuthenticationEventArgs.cs
- Memoizer.cs
- _StreamFramer.cs
- ZoneMembershipCondition.cs
- SqlDataSourceCache.cs
- OleDbRowUpdatedEvent.cs
- TextDecorationLocationValidation.cs
- CodeCatchClauseCollection.cs
- NamespaceImport.cs
- WindowsListViewGroupHelper.cs
- StateDesigner.cs
- Scripts.cs
- QueryResponse.cs
- DataBinder.cs
- MILUtilities.cs
- StateMachineHelpers.cs
- PageWrapper.cs
- PageAsyncTaskManager.cs
- ConsumerConnectionPointCollection.cs
- ChildDocumentBlock.cs