Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- OrderedEnumerableRowCollection.cs
- ErrorFormatterPage.cs
- StringArrayConverter.cs
- Compilation.cs
- TableCellCollection.cs
- RenderContext.cs
- IndicCharClassifier.cs
- ButtonBase.cs
- URLIdentityPermission.cs
- WindowsSpinner.cs
- LabelEditEvent.cs
- QueryOutputWriterV1.cs
- SessionStateUtil.cs
- AdPostCacheSubstitution.cs
- _HTTPDateParse.cs
- HybridObjectCache.cs
- dataprotectionpermission.cs
- HtmlUtf8RawTextWriter.cs
- MemberCollection.cs
- SymLanguageType.cs
- KeyToListMap.cs
- URIFormatException.cs
- CqlGenerator.cs
- DateTimeUtil.cs
- Stackframe.cs
- UnmanagedMemoryAccessor.cs
- Single.cs
- DEREncoding.cs
- KeysConverter.cs
- LocalizationCodeDomSerializer.cs
- KnownColorTable.cs
- Stream.cs
- FixedDocumentPaginator.cs
- TextDecorationCollectionConverter.cs
- SizeConverter.cs
- ColumnResult.cs
- MetadataUtil.cs
- ApplicationSettingsBase.cs
- AnimatedTypeHelpers.cs
- ModelPerspective.cs
- PersistenceContextEnlistment.cs
- DemultiplexingDispatchMessageFormatter.cs
- MeasureItemEvent.cs
- RegexCompilationInfo.cs
- SerializableTypeCodeDomSerializer.cs
- SrgsItemList.cs
- LiteralControl.cs
- WebControlAdapter.cs
- ColumnMap.cs
- Overlapped.cs
- ImageClickEventArgs.cs
- DataGridViewDesigner.cs
- SpeechEvent.cs
- ConvertEvent.cs
- CodeDefaultValueExpression.cs
- Double.cs
- X509Utils.cs
- CatalogPartChrome.cs
- ValidationSummaryDesigner.cs
- QueryReaderSettings.cs
- GenericTypeParameterBuilder.cs
- LabelAutomationPeer.cs
- EFDataModelProvider.cs
- Int32Rect.cs
- ADMembershipProvider.cs
- XmlIlVisitor.cs
- ArraySubsetEnumerator.cs
- ElementNotEnabledException.cs
- FunctionImportElement.cs
- oledbmetadatacollectionnames.cs
- SHA1CryptoServiceProvider.cs
- XmlSchemaNotation.cs
- QueryOutputWriterV1.cs
- FactoryGenerator.cs
- CroppedBitmap.cs
- RefExpr.cs
- ImageInfo.cs
- ParseHttpDate.cs
- SourceLineInfo.cs
- ParameterRetriever.cs
- XPathAncestorQuery.cs
- ExternalFile.cs
- TextServicesCompartmentEventSink.cs
- AttachedProperty.cs
- DbCommandTree.cs
- DataServiceRequestException.cs
- BrowserCapabilitiesFactoryBase.cs
- PrintPageEvent.cs
- DataAccessor.cs
- WebBrowserNavigatingEventHandler.cs
- Compiler.cs
- TypeGeneratedEventArgs.cs
- TextContainerChangeEventArgs.cs
- HostedHttpContext.cs
- InstallerTypeAttribute.cs
- NodeLabelEditEvent.cs
- Polygon.cs
- PipeSecurity.cs
- ResourceProperty.cs
- TextDecorationUnitValidation.cs