Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- ReadWriteObjectLock.cs
- MouseEvent.cs
- NativeMethods.cs
- PagedControl.cs
- HasCopySemanticsAttribute.cs
- EnumBuilder.cs
- WebPartConnectVerb.cs
- EmbeddedMailObject.cs
- BamlBinaryWriter.cs
- OleDbRowUpdatedEvent.cs
- RequiredFieldValidator.cs
- ErasingStroke.cs
- PathSegmentCollection.cs
- StreamProxy.cs
- AttributeCollection.cs
- CreateRefExpr.cs
- AutomationPeer.cs
- ObjectFullSpanRewriter.cs
- XmlSchemaGroupRef.cs
- GraphicsPathIterator.cs
- ThicknessKeyFrameCollection.cs
- HtmlAnchor.cs
- TaskExceptionHolder.cs
- DataColumnCollection.cs
- TrackingStringDictionary.cs
- StickyNoteAnnotations.cs
- WindowsAuthenticationModule.cs
- SelectionListComponentEditor.cs
- connectionpool.cs
- SmiMetaData.cs
- StylusButtonEventArgs.cs
- FixedSOMGroup.cs
- AllMembershipCondition.cs
- CompilationSection.cs
- CompiledXpathExpr.cs
- SqlDataSourceFilteringEventArgs.cs
- EdmToObjectNamespaceMap.cs
- MailSettingsSection.cs
- OleDbError.cs
- SafeLibraryHandle.cs
- IisNotInstalledException.cs
- PtsHost.cs
- PasswordTextNavigator.cs
- SiteMapProvider.cs
- Comparer.cs
- FigureHelper.cs
- FocusWithinProperty.cs
- DummyDataSource.cs
- NamedPermissionSet.cs
- RecipientInfo.cs
- ProfileGroupSettings.cs
- SoapEnumAttribute.cs
- OperatingSystemVersionCheck.cs
- HttpResponseHeader.cs
- OdbcUtils.cs
- LogArchiveSnapshot.cs
- FontEmbeddingManager.cs
- ReadOnlyPropertyMetadata.cs
- CompilerResults.cs
- Opcode.cs
- QueueProcessor.cs
- ConnectivityStatus.cs
- DataTableExtensions.cs
- CharacterMetricsDictionary.cs
- _KerberosClient.cs
- _HeaderInfoTable.cs
- Optimizer.cs
- MatrixKeyFrameCollection.cs
- DispatcherExceptionFilterEventArgs.cs
- TrailingSpaceComparer.cs
- ObjectConverter.cs
- XamlStream.cs
- FixedDSBuilder.cs
- _LocalDataStoreMgr.cs
- NullToBooleanConverter.cs
- XmlConverter.cs
- ISAPIWorkerRequest.cs
- TraceInternal.cs
- DoubleAnimation.cs
- TabItem.cs
- SystemWebSectionGroup.cs
- SystemIPGlobalProperties.cs
- LocalValueEnumerator.cs
- ColorBuilder.cs
- LogEntry.cs
- DataControlFieldCell.cs
- OperationDescription.cs
- RangeValidator.cs
- HttpPostLocalhostServerProtocol.cs
- FlowLayout.cs
- FlowSwitchDesigner.xaml.cs
- KeyPressEvent.cs
- OleStrCAMarshaler.cs
- IDispatchConstantAttribute.cs
- TextBoxLine.cs
- NotFiniteNumberException.cs
- XmlDesigner.cs
- LookupNode.cs
- ExtensibleClassFactory.cs
- DbXmlEnabledProviderManifest.cs