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
- PanelStyle.cs
- XPathNodePointer.cs
- LogEntryDeserializer.cs
- AppLevelCompilationSectionCache.cs
- Random.cs
- VariantWrapper.cs
- SecurityPolicySection.cs
- PopupRoot.cs
- AlphabetConverter.cs
- MouseActionValueSerializer.cs
- XmlTextReader.cs
- NTAccount.cs
- WebPartVerb.cs
- XmlCharCheckingReader.cs
- _LocalDataStoreMgr.cs
- XPathMessageFilterElementCollection.cs
- IPAddress.cs
- ConfigurationFileMap.cs
- LogLogRecordHeader.cs
- MsmqTransportSecurity.cs
- CodeTypeParameterCollection.cs
- TextBox.cs
- FileUtil.cs
- Error.cs
- DataGridCommandEventArgs.cs
- InfoCardBaseException.cs
- ImageClickEventArgs.cs
- TypeExtensionConverter.cs
- WinFormsComponentEditor.cs
- AddInProcess.cs
- MachineKeyConverter.cs
- List.cs
- HtmlButton.cs
- DocumentOrderQuery.cs
- DataGridViewTopLeftHeaderCell.cs
- ObjectDataSourceStatusEventArgs.cs
- BufferBuilder.cs
- AppSettingsSection.cs
- MailSettingsSection.cs
- DbQueryCommandTree.cs
- CellCreator.cs
- SerializerWriterEventHandlers.cs
- TextRangeEdit.cs
- GradientBrush.cs
- RuntimeResourceSet.cs
- SystemSounds.cs
- SoapRpcServiceAttribute.cs
- Pair.cs
- ToolStripAdornerWindowService.cs
- CommonObjectSecurity.cs
- WebPartVerbCollection.cs
- XsdBuilder.cs
- WasHttpHandlersInstallComponent.cs
- X509Extension.cs
- ParameterElementCollection.cs
- DispatcherFrame.cs
- MetadataPropertyAttribute.cs
- TripleDESCryptoServiceProvider.cs
- ProtocolsConfigurationEntry.cs
- TiffBitmapEncoder.cs
- CatalogPart.cs
- GridViewItemAutomationPeer.cs
- ScriptControlManager.cs
- SetterTriggerConditionValueConverter.cs
- TrackingProfile.cs
- WindowsScrollBarBits.cs
- X509RecipientCertificateServiceElement.cs
- DXD.cs
- Ipv6Element.cs
- SqlLiftIndependentRowExpressions.cs
- RuleDefinitions.cs
- MorphHelper.cs
- RangeValidator.cs
- GroupItem.cs
- Array.cs
- StringToken.cs
- CodeDomComponentSerializationService.cs
- Int32CAMarshaler.cs
- TcpSocketManager.cs
- EventlogProvider.cs
- WizardPanel.cs
- ActionMismatchAddressingException.cs
- ContextStack.cs
- VectorAnimationUsingKeyFrames.cs
- BitmapInitialize.cs
- UnsafeNativeMethods.cs
- WsdlEndpointConversionContext.cs
- SqlParameterCollection.cs
- ListItemConverter.cs
- BitmapFrame.cs
- ReferenceConverter.cs
- DecoderNLS.cs
- TdsParserSessionPool.cs
- EntityDataSourceContextDisposingEventArgs.cs
- IListConverters.cs
- ListViewGroupItemCollection.cs
- StringSorter.cs
- StaticFileHandler.cs
- AppDomainFactory.cs
- FileRecordSequenceHelper.cs