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
- COM2Enum.cs
- PropertyPathWorker.cs
- XmlDataFileEditor.cs
- TemplatedMailWebEventProvider.cs
- PrivilegedConfigurationManager.cs
- SchemaImporterExtension.cs
- SqlXml.cs
- HtmlDocument.cs
- StrongNameMembershipCondition.cs
- serverconfig.cs
- TextSerializer.cs
- WindowProviderWrapper.cs
- TypeProvider.cs
- DataGridViewTextBoxCell.cs
- DateTimeUtil.cs
- XsltQilFactory.cs
- TemplateControl.cs
- HotSpotCollection.cs
- CustomBindingElementCollection.cs
- DataGridViewComboBoxColumn.cs
- autovalidator.cs
- BooleanExpr.cs
- TreeViewAutomationPeer.cs
- TextView.cs
- FontWeights.cs
- BitmapData.cs
- XMLSyntaxException.cs
- ColumnMap.cs
- SoapSchemaImporter.cs
- wgx_exports.cs
- ListChangedEventArgs.cs
- ProgressiveCrcCalculatingStream.cs
- ProxyFragment.cs
- SecurityDescriptor.cs
- HealthMonitoringSection.cs
- MetadataCache.cs
- HitTestWithGeometryDrawingContextWalker.cs
- CorrelationTokenTypeConvertor.cs
- LayoutTableCell.cs
- OleDbConnectionFactory.cs
- DataColumnChangeEvent.cs
- XmlNodeList.cs
- ManagedIStream.cs
- QueryPageSettingsEventArgs.cs
- BindingValueChangedEventArgs.cs
- GlyphsSerializer.cs
- RowTypeElement.cs
- GenerateScriptTypeAttribute.cs
- BinaryFormatter.cs
- DataGridViewCellFormattingEventArgs.cs
- DataServiceHost.cs
- tibetanshape.cs
- TrackingRecord.cs
- RemotingException.cs
- ZoneLinkButton.cs
- DataConnectionHelper.cs
- ToolbarAUtomationPeer.cs
- TableColumn.cs
- BulletDecorator.cs
- MailWriter.cs
- TraceContextRecord.cs
- ResourceWriter.cs
- CodeDomConfigurationHandler.cs
- MetadataCollection.cs
- EntityConnectionStringBuilderItem.cs
- Trustee.cs
- ErrorEventArgs.cs
- ObjectListDataBindEventArgs.cs
- DeclarativeCatalogPart.cs
- TextShapeableCharacters.cs
- LinqDataSourceInsertEventArgs.cs
- ApplicationServicesHostFactory.cs
- TextDecorationCollection.cs
- PrintPreviewDialog.cs
- ElementUtil.cs
- StyleCollection.cs
- StrokeDescriptor.cs
- ProxyElement.cs
- ellipse.cs
- SystemTcpStatistics.cs
- HitTestParameters3D.cs
- UnauthorizedAccessException.cs
- CanonicalXml.cs
- EventLogPermission.cs
- ObjectDataSourceEventArgs.cs
- FilteredXmlReader.cs
- FactoryGenerator.cs
- PerspectiveCamera.cs
- SchemaImporter.cs
- IntSecurity.cs
- XmlSchemaValidator.cs
- PhonemeConverter.cs
- RenderingBiasValidation.cs
- XmlAttributes.cs
- _PooledStream.cs
- CacheDependency.cs
- SqlGenerator.cs
- NameNode.cs
- DownloadProgressEventArgs.cs
- DataServiceConfiguration.cs