Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Xml / System / Xml / XmlSecureResolver.cs / 1 / XmlSecureResolver.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml {
using System.Net;
using System.Security;
using System.Security.Policy;
using System.Security.Permissions;
[PermissionSetAttribute( SecurityAction.InheritanceDemand, Name = "FullTrust" )]
public class XmlSecureResolver : XmlResolver {
XmlResolver resolver;
PermissionSet permissionSet;
public XmlSecureResolver(XmlResolver resolver, string securityUrl) : this(resolver, CreateEvidenceForUrl(securityUrl)) {}
public XmlSecureResolver(XmlResolver resolver, Evidence evidence) : this(resolver, SecurityManager.ResolvePolicy(evidence)) {}
public XmlSecureResolver(XmlResolver resolver, PermissionSet permissionSet) {
this.resolver = resolver;
this.permissionSet = permissionSet;
}
public override ICredentials Credentials {
set { resolver.Credentials = value; }
}
public override object GetEntity(Uri absoluteUri, string role, Type ofObjectToReturn) {
permissionSet.PermitOnly();
return resolver.GetEntity(absoluteUri, role, ofObjectToReturn);
}
public override Uri ResolveUri(Uri baseUri, string relativeUri) {
return resolver.ResolveUri(baseUri, relativeUri);
}
public static Evidence CreateEvidenceForUrl(string securityUrl) {
Evidence evidence = new Evidence();
if (securityUrl != null && securityUrl.Length > 0) {
evidence.AddHost(new Url(securityUrl));
evidence.AddHost(Zone.CreateFromUrl(securityUrl));
Uri uri = new Uri(securityUrl, UriKind.RelativeOrAbsolute);
if (uri.IsAbsoluteUri && !uri.IsFile) {
evidence.AddHost(Site.CreateFromUrl(securityUrl));
}
}
return evidence;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml {
using System.Net;
using System.Security;
using System.Security.Policy;
using System.Security.Permissions;
[PermissionSetAttribute( SecurityAction.InheritanceDemand, Name = "FullTrust" )]
public class XmlSecureResolver : XmlResolver {
XmlResolver resolver;
PermissionSet permissionSet;
public XmlSecureResolver(XmlResolver resolver, string securityUrl) : this(resolver, CreateEvidenceForUrl(securityUrl)) {}
public XmlSecureResolver(XmlResolver resolver, Evidence evidence) : this(resolver, SecurityManager.ResolvePolicy(evidence)) {}
public XmlSecureResolver(XmlResolver resolver, PermissionSet permissionSet) {
this.resolver = resolver;
this.permissionSet = permissionSet;
}
public override ICredentials Credentials {
set { resolver.Credentials = value; }
}
public override object GetEntity(Uri absoluteUri, string role, Type ofObjectToReturn) {
permissionSet.PermitOnly();
return resolver.GetEntity(absoluteUri, role, ofObjectToReturn);
}
public override Uri ResolveUri(Uri baseUri, string relativeUri) {
return resolver.ResolveUri(baseUri, relativeUri);
}
public static Evidence CreateEvidenceForUrl(string securityUrl) {
Evidence evidence = new Evidence();
if (securityUrl != null && securityUrl.Length > 0) {
evidence.AddHost(new Url(securityUrl));
evidence.AddHost(Zone.CreateFromUrl(securityUrl));
Uri uri = new Uri(securityUrl, UriKind.RelativeOrAbsolute);
if (uri.IsAbsoluteUri && !uri.IsFile) {
evidence.AddHost(Site.CreateFromUrl(securityUrl));
}
}
return evidence;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListBoxItemWrapperAutomationPeer.cs
- ParamArrayAttribute.cs
- ColorKeyFrameCollection.cs
- FramingEncoders.cs
- SelectionService.cs
- DesignTimeTemplateParser.cs
- TableProvider.cs
- SkinBuilder.cs
- Interlocked.cs
- ProviderIncompatibleException.cs
- ImpersonationContext.cs
- ObjectListItem.cs
- ResourceExpression.cs
- WebPartAddingEventArgs.cs
- cache.cs
- AssemblyHash.cs
- DbParameterCollectionHelper.cs
- XPathNodeList.cs
- EntityDataSourceChangingEventArgs.cs
- CharacterMetrics.cs
- CodeNamespace.cs
- GridSplitter.cs
- ValidationPropertyAttribute.cs
- AttachedPropertyBrowsableAttribute.cs
- FlowLayoutSettings.cs
- ExceptionHandlersDesigner.cs
- DesignBindingPicker.cs
- PointCollectionConverter.cs
- ThemeableAttribute.cs
- SecurityPolicySection.cs
- InvalidWMPVersionException.cs
- EventLogPermission.cs
- TcpAppDomainProtocolHandler.cs
- SerTrace.cs
- DrawListViewColumnHeaderEventArgs.cs
- PngBitmapEncoder.cs
- CatalogZoneBase.cs
- DataContractSet.cs
- RepeatInfo.cs
- ImagingCache.cs
- SetStoryboardSpeedRatio.cs
- ToolStripDropDown.cs
- SmiXetterAccessMap.cs
- SQLBoolean.cs
- WorkflowServiceNamespace.cs
- PowerModeChangedEventArgs.cs
- SecurityException.cs
- SoapMessage.cs
- FixedSOMImage.cs
- WebBrowserPermission.cs
- RemoteWebConfigurationHost.cs
- AlgoModule.cs
- AutomationPeer.cs
- GroupItem.cs
- TrustManagerMoreInformation.cs
- SelectionChangedEventArgs.cs
- SHA1Managed.cs
- DescriptionAttribute.cs
- CalendarDataBindingHandler.cs
- EnumUnknown.cs
- ApplicationManager.cs
- WebException.cs
- PersistChildrenAttribute.cs
- TimelineGroup.cs
- TreeViewImageIndexConverter.cs
- Enum.cs
- columnmapfactory.cs
- EntityParameterCollection.cs
- MenuItemCollection.cs
- UniqueEventHelper.cs
- DesignerHelpers.cs
- StateValidator.cs
- _SSPISessionCache.cs
- SimpleWebHandlerParser.cs
- XsdCachingReader.cs
- dbdatarecord.cs
- Int32Rect.cs
- SecurityToken.cs
- DependentTransaction.cs
- RuntimeConfigLKG.cs
- GeometryGroup.cs
- SettingsPropertyWrongTypeException.cs
- Native.cs
- CustomError.cs
- GrammarBuilderWildcard.cs
- ServiceInstanceProvider.cs
- FontStretchConverter.cs
- InstanceNotReadyException.cs
- ApplicationBuildProvider.cs
- CfgSemanticTag.cs
- odbcmetadatacollectionnames.cs
- DbParameterCollectionHelper.cs
- AudioLevelUpdatedEventArgs.cs
- listitem.cs
- RotateTransform3D.cs
- DesignerAutoFormat.cs
- DataBindingHandlerAttribute.cs
- _SpnDictionary.cs
- XmlReflectionMember.cs
- ISessionStateStore.cs