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
- SizeF.cs
- QilValidationVisitor.cs
- SessionState.cs
- AuthenticationConfig.cs
- MachineKeySection.cs
- UserControlAutomationPeer.cs
- TreeViewHitTestInfo.cs
- RegexCompilationInfo.cs
- ToolStripGrip.cs
- MouseGestureConverter.cs
- Predicate.cs
- CodeBlockBuilder.cs
- DataPagerField.cs
- ResXFileRef.cs
- SettingsPropertyIsReadOnlyException.cs
- WorkflowOperationFault.cs
- ClockController.cs
- AddInServer.cs
- LayeredChannelFactory.cs
- RelatedCurrencyManager.cs
- SystemIPGlobalStatistics.cs
- CommonXSendMessage.cs
- RoutedEventValueSerializer.cs
- FontSource.cs
- EmissiveMaterial.cs
- DBSqlParserColumn.cs
- TableLayoutSettings.cs
- DataGrid.cs
- ErrorWrapper.cs
- FileDialogCustomPlace.cs
- ListItemCollection.cs
- EntitySqlQueryState.cs
- TemplateContent.cs
- DataGridViewElement.cs
- FactoryGenerator.cs
- EntityDataSourceColumn.cs
- QueryAccessibilityHelpEvent.cs
- Int64AnimationBase.cs
- ParentUndoUnit.cs
- RegexCode.cs
- ToolStripStatusLabel.cs
- XmlEventCache.cs
- ResourceContainer.cs
- NamedElement.cs
- WCFServiceClientProxyGenerator.cs
- Adorner.cs
- WebPartDescription.cs
- QueuePropertyVariants.cs
- RegexFCD.cs
- DateTimeConverter.cs
- XmlUtf8RawTextWriter.cs
- SafeNativeMethods.cs
- FilterException.cs
- ScriptResourceHandler.cs
- XmlLangPropertyAttribute.cs
- AuthenticateEventArgs.cs
- DesignSurfaceManager.cs
- MouseWheelEventArgs.cs
- ToolboxItemAttribute.cs
- XmlRootAttribute.cs
- ListMarkerSourceInfo.cs
- EncryptedReference.cs
- FixedTextSelectionProcessor.cs
- SmiRequestExecutor.cs
- HotCommands.cs
- JsonQueryStringConverter.cs
- PageSettings.cs
- FindCriteria11.cs
- ElementHostAutomationPeer.cs
- ProcessInfo.cs
- XmlSchemaSimpleTypeUnion.cs
- OperationAbortedException.cs
- TypedReference.cs
- OracleConnectionString.cs
- Html32TextWriter.cs
- AsyncResult.cs
- SecureConversationServiceElement.cs
- CardSpacePolicyElement.cs
- XmlSerializerFaultFormatter.cs
- CanonicalFontFamilyReference.cs
- BypassElement.cs
- PerfCounters.cs
- Renderer.cs
- RoleBoolean.cs
- ErrorStyle.cs
- SiteMapHierarchicalDataSourceView.cs
- XamlParser.cs
- GridViewCommandEventArgs.cs
- TypedTableGenerator.cs
- IsolatedStorageFileStream.cs
- SEHException.cs
- WinFormsSecurity.cs
- AppDomainProtocolHandler.cs
- WebPartDescriptionCollection.cs
- JoinGraph.cs
- Int32CollectionConverter.cs
- FieldToken.cs
- DbBuffer.cs
- AlphabeticalEnumConverter.cs
- UserValidatedEventArgs.cs