Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / DataAccess / ADConnectionHelper.cs / 1 / ADConnectionHelper.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.DataAccess { using System.Net; using System.Diagnostics; using System.Web.Hosting; using System.Web.Security; using System.DirectoryServices; using System.DirectoryServices.Protocols; internal static class ActiveDirectoryConnectionHelper { internal static DirectoryEntryHolder GetDirectoryEntry(DirectoryInformation directoryInfo, string objectDN, bool revertImpersonation) { Debug.Assert ((objectDN != null) && (objectDN.Length != 0)); // // Get the adspath and create a directory entry holder // DirectoryEntryHolder holder = new DirectoryEntryHolder(new DirectoryEntry ( directoryInfo.GetADsPath(objectDN), directoryInfo.GetUsername(), directoryInfo.GetPassword(), directoryInfo.AuthenticationTypes)); // // If revertImpersonation is true, we need to revert // holder.Open(null, revertImpersonation); return holder; } } internal sealed class DirectoryEntryHolder { private ImpersonationContext ctx = null; private bool opened; private DirectoryEntry entry; internal DirectoryEntryHolder (DirectoryEntry entry) { Debug.Assert (entry != null); this.entry = entry; } internal void Open (HttpContext context, bool revertImpersonate) { if (opened) return; // Already opened // // Revert client impersonation if required // if (revertImpersonate) { ctx = new ApplicationImpersonationContext(); } else { ctx = null; } opened = true; // Open worked! } internal void Close () { if (!opened) // Not open! return; entry.Dispose(); RestoreImpersonation(); opened = false; } internal void RestoreImpersonation() { // Restore impersonation if (ctx != null) { ctx.Undo(); ctx = null; } } internal DirectoryEntry DirectoryEntry { get { return entry; } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XPathAxisIterator.cs
- XmlSchemaAppInfo.cs
- RepeaterItemCollection.cs
- StringResourceManager.cs
- SecureStringHasher.cs
- EntityDataSourceContextDisposingEventArgs.cs
- GenerateTemporaryTargetAssembly.cs
- VariableAction.cs
- DbParameterHelper.cs
- SQLInt64Storage.cs
- BaseDataBoundControl.cs
- Unit.cs
- StatusBarDrawItemEvent.cs
- TreeViewItem.cs
- Properties.cs
- EncodingInfo.cs
- ListViewTableRow.cs
- LicFileLicenseProvider.cs
- XmlIterators.cs
- WorkflowCreationContext.cs
- TransformerConfigurationWizardBase.cs
- ToolStripSplitStackLayout.cs
- DurationConverter.cs
- FontStyleConverter.cs
- DbModificationCommandTree.cs
- StatusBarDrawItemEvent.cs
- ParserContext.cs
- assertwrapper.cs
- AuthenticationModulesSection.cs
- ScriptResourceInfo.cs
- DbProviderSpecificTypePropertyAttribute.cs
- Margins.cs
- EditingScope.cs
- PipelineModuleStepContainer.cs
- DateTimeConverter.cs
- MatrixStack.cs
- SqlCacheDependencySection.cs
- PathStreamGeometryContext.cs
- ThumbAutomationPeer.cs
- TableCell.cs
- BitmapCodecInfo.cs
- precedingquery.cs
- NetworkStream.cs
- GiveFeedbackEventArgs.cs
- TransformerTypeCollection.cs
- WindowsRichEdit.cs
- TextProperties.cs
- UshortList2.cs
- GZipStream.cs
- CodeCatchClauseCollection.cs
- ImageClickEventArgs.cs
- DefaultPropertiesToSend.cs
- RSAPKCS1SignatureDeformatter.cs
- CapiSymmetricAlgorithm.cs
- TransportElement.cs
- TextCollapsingProperties.cs
- VisualBrush.cs
- HandlerFactoryWrapper.cs
- ProcessModelInfo.cs
- PrimitiveRenderer.cs
- PathSegmentCollection.cs
- Image.cs
- CFGGrammar.cs
- FileCodeGroup.cs
- Signature.cs
- TaiwanCalendar.cs
- DbProviderSpecificTypePropertyAttribute.cs
- ItemCheckedEvent.cs
- HttpListenerException.cs
- Tile.cs
- ApplicationInfo.cs
- InputScopeManager.cs
- EntityDataSourceWrapperCollection.cs
- PrinterUnitConvert.cs
- TextEditorSpelling.cs
- QilLoop.cs
- AccessDataSourceView.cs
- SingleObjectCollection.cs
- CatalogPartDesigner.cs
- ResourceExpressionEditor.cs
- SafeArrayRankMismatchException.cs
- ReflectPropertyDescriptor.cs
- newinstructionaction.cs
- WmpBitmapEncoder.cs
- EdmProperty.cs
- X509ChainElement.cs
- TypeReference.cs
- BooleanExpr.cs
- ProfileBuildProvider.cs
- AnimationStorage.cs
- recordstatefactory.cs
- SrgsElementFactoryCompiler.cs
- PackWebResponse.cs
- InvalidOleVariantTypeException.cs
- DocumentReference.cs
- MimeWriter.cs
- PropertyDescriptors.cs
- GridToolTip.cs
- DataSetMappper.cs
- ModelVisual3D.cs