Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Net / System / Net / IntranetCredentialPolicy.cs / 1 / IntranetCredentialPolicy.cs
namespace Microsoft.Win32 { using System; using System.Net; using System.Globalization; using System.IO; using System.Security.Permissions; using System.Security.Principal; using System.ComponentModel; using System.Text; using System.Runtime.InteropServices; // IID_IInternetSecurityManager = 79eac9ee-baf9-11ce-8c82-00aa004ba90b // IID_IInternetZoneManager = 79eac9ef-baf9-11ce-8c82-00aa004ba90b // CLSID_InternetSecurityManager= 7b8a2d94-0ac9-11d1-896c-00c04Fb6bfc4 // CLSID_InternetZoneManager = 7b8a2d95-0ac9-11d1-896c-00c04Fb6bfc4 [ComImport, ComVisible(false), Guid("7b8a2d94-0ac9-11d1-896c-00c04Fb6bfc4")] internal class InternetSecurityManager { } [ComImport, ComVisible(false), Guid("79eac9ee-baf9-11ce-8c82-00aa004ba90b"), System.Runtime.InteropServices.InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] internal interface IInternetSecurityManager { unsafe void SetSecuritySite( void *pSite); unsafe void GetSecuritySite( /* [out] */ void **ppSite); [System.Security.SuppressUnmanagedCodeSecurity] void MapUrlToZone( [In, MarshalAs(UnmanagedType.BStr)] string pwszUrl, [Out] out int pdwZone, [In] int dwFlags); unsafe void GetSecurityId( /* [in] */ string pwszUrl, /* [size_is][out] */ byte *pbSecurityId, /* [out][in] */ int *pcbSecurityId, /* [in] */ int dwReserved); unsafe void ProcessUrlAction( /* [in] */ string pwszUrl, /* [in] */ int dwAction, /* [size_is][out] */ byte *pPolicy, /* [in] */ int cbPolicy, /* [in] */ byte *pContext, /* [in] */ int cbContext, /* [in] */ int dwFlags, /* [in] */ int dwReserved); unsafe void QueryCustomPolicy( /* [in] */ string pwszUrl, /* [in] */ /*REFGUID*/ void *guidKey, /* [size_is][size_is][out] */ byte **ppPolicy, /* [out] */ int *pcbPolicy, /* [in] */ byte *pContext, /* [in] */ int cbContext, /* [in] */ int dwReserved); unsafe void SetZoneMapping( /* [in] */ int dwZone, /* [in] */ string lpszPattern, /* [in] */ int dwFlags); unsafe void GetZoneMappings( /* [in] */ int dwZone, /* [out] */ /*IEnumString*/ void **ppenumString, /* [in] */ int dwFlags); } public class IntranetZoneCredentialPolicy: ICredentialPolicy { private const int URLZONE_INTRANET = 1; IInternetSecurityManager _ManagerRef; public IntranetZoneCredentialPolicy() { ExceptionHelper.ControlPolicyPermission.Demand(); _ManagerRef = (IInternetSecurityManager)new InternetSecurityManager(); } // // Make an interop call into UriMon // authModule and credential parameters are not considered // public virtual bool ShouldSendCredential(Uri challengeUri, WebRequest request, NetworkCredential credential, IAuthenticationModule authModule) { int pdwZone; _ManagerRef.MapUrlToZone(challengeUri.AbsoluteUri, out pdwZone, 0); return pdwZone == URLZONE_INTRANET; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace Microsoft.Win32 { using System; using System.Net; using System.Globalization; using System.IO; using System.Security.Permissions; using System.Security.Principal; using System.ComponentModel; using System.Text; using System.Runtime.InteropServices; // IID_IInternetSecurityManager = 79eac9ee-baf9-11ce-8c82-00aa004ba90b // IID_IInternetZoneManager = 79eac9ef-baf9-11ce-8c82-00aa004ba90b // CLSID_InternetSecurityManager= 7b8a2d94-0ac9-11d1-896c-00c04Fb6bfc4 // CLSID_InternetZoneManager = 7b8a2d95-0ac9-11d1-896c-00c04Fb6bfc4 [ComImport, ComVisible(false), Guid("7b8a2d94-0ac9-11d1-896c-00c04Fb6bfc4")] internal class InternetSecurityManager { } [ComImport, ComVisible(false), Guid("79eac9ee-baf9-11ce-8c82-00aa004ba90b"), System.Runtime.InteropServices.InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] internal interface IInternetSecurityManager { unsafe void SetSecuritySite( void *pSite); unsafe void GetSecuritySite( /* [out] */ void **ppSite); [System.Security.SuppressUnmanagedCodeSecurity] void MapUrlToZone( [In, MarshalAs(UnmanagedType.BStr)] string pwszUrl, [Out] out int pdwZone, [In] int dwFlags); unsafe void GetSecurityId( /* [in] */ string pwszUrl, /* [size_is][out] */ byte *pbSecurityId, /* [out][in] */ int *pcbSecurityId, /* [in] */ int dwReserved); unsafe void ProcessUrlAction( /* [in] */ string pwszUrl, /* [in] */ int dwAction, /* [size_is][out] */ byte *pPolicy, /* [in] */ int cbPolicy, /* [in] */ byte *pContext, /* [in] */ int cbContext, /* [in] */ int dwFlags, /* [in] */ int dwReserved); unsafe void QueryCustomPolicy( /* [in] */ string pwszUrl, /* [in] */ /*REFGUID*/ void *guidKey, /* [size_is][size_is][out] */ byte **ppPolicy, /* [out] */ int *pcbPolicy, /* [in] */ byte *pContext, /* [in] */ int cbContext, /* [in] */ int dwReserved); unsafe void SetZoneMapping( /* [in] */ int dwZone, /* [in] */ string lpszPattern, /* [in] */ int dwFlags); unsafe void GetZoneMappings( /* [in] */ int dwZone, /* [out] */ /*IEnumString*/ void **ppenumString, /* [in] */ int dwFlags); } public class IntranetZoneCredentialPolicy: ICredentialPolicy { private const int URLZONE_INTRANET = 1; IInternetSecurityManager _ManagerRef; public IntranetZoneCredentialPolicy() { ExceptionHelper.ControlPolicyPermission.Demand(); _ManagerRef = (IInternetSecurityManager)new InternetSecurityManager(); } // // Make an interop call into UriMon // authModule and credential parameters are not considered // public virtual bool ShouldSendCredential(Uri challengeUri, WebRequest request, NetworkCredential credential, IAuthenticationModule authModule) { int pdwZone; _ManagerRef.MapUrlToZone(challengeUri.AbsoluteUri, out pdwZone, 0); return pdwZone == URLZONE_INTRANET; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RegistrationServices.cs
- TypeResolver.cs
- ObjRef.cs
- UITypeEditor.cs
- Property.cs
- DataSourceNameHandler.cs
- SchemaDeclBase.cs
- SqlUserDefinedAggregateAttribute.cs
- DSGeneratorProblem.cs
- ExportFileRequest.cs
- DataTableMappingCollection.cs
- WorkerRequest.cs
- WsdlInspector.cs
- AdapterDictionary.cs
- ConnectionOrientedTransportChannelFactory.cs
- XmlRawWriterWrapper.cs
- ResXDataNode.cs
- CustomAttributeFormatException.cs
- WebPartTracker.cs
- OleDbErrorCollection.cs
- XmlIterators.cs
- EmptyEnumerable.cs
- X509Chain.cs
- EntityDataSourceSelectingEventArgs.cs
- ThreadAbortException.cs
- UInt32.cs
- UnsafeNativeMethodsPenimc.cs
- DateTimeValueSerializer.cs
- ContainerAction.cs
- SerializerWriterEventHandlers.cs
- ScrollPatternIdentifiers.cs
- DataBinding.cs
- MouseButtonEventArgs.cs
- XmlSchemaDocumentation.cs
- ExpressionReplacer.cs
- ItemDragEvent.cs
- documentsequencetextview.cs
- SoapInteropTypes.cs
- FormClosingEvent.cs
- SamlSecurityToken.cs
- HostingEnvironment.cs
- NotifyParentPropertyAttribute.cs
- UnknownBitmapEncoder.cs
- SendMailErrorEventArgs.cs
- InternalSafeNativeMethods.cs
- OleDbReferenceCollection.cs
- InvokeHandlers.cs
- ValueSerializer.cs
- DbConnectionFactory.cs
- SafeNativeMemoryHandle.cs
- ExceptionUtil.cs
- ClientTarget.cs
- Base64Decoder.cs
- AssemblyAttributes.cs
- ProgressBarBrushConverter.cs
- CodeAttributeDeclaration.cs
- TemplateParser.cs
- TimeoutValidationAttribute.cs
- TextSelection.cs
- Point4D.cs
- MetadataCache.cs
- DBConcurrencyException.cs
- XPathDocumentIterator.cs
- DataRowChangeEvent.cs
- DataErrorValidationRule.cs
- PropertyTabAttribute.cs
- PolyLineSegment.cs
- DBSchemaRow.cs
- View.cs
- SamlDoNotCacheCondition.cs
- SafeRightsManagementSessionHandle.cs
- SupportingTokenProviderSpecification.cs
- EdmConstants.cs
- CompilationRelaxations.cs
- BufferedWebEventProvider.cs
- BitmapEffectDrawing.cs
- CancelAsyncOperationRequest.cs
- TextSelectionHighlightLayer.cs
- SimpleExpression.cs
- FormsAuthenticationConfiguration.cs
- Primitive.cs
- ToolStripContentPanelRenderEventArgs.cs
- log.cs
- NodeLabelEditEvent.cs
- BlockUIContainer.cs
- OwnerDrawPropertyBag.cs
- DragDrop.cs
- ReturnValue.cs
- CompileXomlTask.cs
- TabPage.cs
- XmlIlGenerator.cs
- DynamicRenderer.cs
- ValidationError.cs
- Encoder.cs
- DataKey.cs
- GAC.cs
- ThemeableAttribute.cs
- TreeViewEvent.cs
- QueryContext.cs
- Int32.cs