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
- AutoSizeToolBoxItem.cs
- AppDomain.cs
- EntitySetBaseCollection.cs
- DrawingContext.cs
- CollectionAdapters.cs
- ByteArrayHelperWithString.cs
- Number.cs
- BaseDataListComponentEditor.cs
- SQLByte.cs
- MultitargetUtil.cs
- RemotingServices.cs
- ScriptResourceDefinition.cs
- DrawItemEvent.cs
- DataGridParentRows.cs
- DataFieldConverter.cs
- CalendarKeyboardHelper.cs
- OAVariantLib.cs
- ConnectorDragDropGlyph.cs
- SecurityCredentialsManager.cs
- IisTraceListener.cs
- ConnectionConsumerAttribute.cs
- ExcludeFromCodeCoverageAttribute.cs
- XPathParser.cs
- RequestCachePolicyConverter.cs
- LZCodec.cs
- WebZoneDesigner.cs
- PolyBezierSegment.cs
- ToolboxDataAttribute.cs
- CollectionChangeEventArgs.cs
- Image.cs
- DataGridRowEventArgs.cs
- SpeechAudioFormatInfo.cs
- Vector3DConverter.cs
- WorkflowMessageEventArgs.cs
- ExpandableObjectConverter.cs
- RegexStringValidatorAttribute.cs
- MethodSignatureGenerator.cs
- HtmlTableCellCollection.cs
- LoopExpression.cs
- ServiceEndpointCollection.cs
- DataRelationPropertyDescriptor.cs
- ImportedPolicyConversionContext.cs
- BitmapMetadataBlob.cs
- XPathNodePointer.cs
- AuthenticationConfig.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- CreateUserErrorEventArgs.cs
- ClickablePoint.cs
- TypeResolver.cs
- ColorMatrix.cs
- AdRotator.cs
- EventlogProvider.cs
- BitmapFrameDecode.cs
- TcpHostedTransportConfiguration.cs
- SpeechUI.cs
- SchemaCompiler.cs
- UnsettableComboBox.cs
- DataSourceControlBuilder.cs
- ObjectQueryExecutionPlan.cs
- GridItemProviderWrapper.cs
- SHA1CryptoServiceProvider.cs
- Monitor.cs
- HashLookup.cs
- Wizard.cs
- TopClause.cs
- DeclaredTypeElement.cs
- HttpListenerException.cs
- JournalEntryListConverter.cs
- peersecurityelement.cs
- ExeConfigurationFileMap.cs
- SQLDoubleStorage.cs
- RegexMatch.cs
- ThemeableAttribute.cs
- IdentityValidationException.cs
- SqlWriter.cs
- PageAdapter.cs
- ReceiveContent.cs
- Rect.cs
- DataSourceCacheDurationConverter.cs
- WindowsMenu.cs
- FixedTextPointer.cs
- Line.cs
- InkCanvasFeedbackAdorner.cs
- ComNativeDescriptor.cs
- XhtmlBasicCommandAdapter.cs
- BufferedWebEventProvider.cs
- EditingScope.cs
- InputProcessorProfilesLoader.cs
- FontFamily.cs
- ConsoleTraceListener.cs
- HelpProvider.cs
- GenerateTemporaryTargetAssembly.cs
- CustomAttribute.cs
- FastEncoderWindow.cs
- ReadOnlyDataSourceView.cs
- SBCSCodePageEncoding.cs
- BinaryConverter.cs
- ChangeConflicts.cs
- DoubleAnimationUsingKeyFrames.cs
- QilParameter.cs