XmlSecureResolver 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
XmlSecureResolver 클래스의 새 인스턴스를 초기화합니다.
오버로드
| Name | Description |
|---|---|
| XmlSecureResolver(XmlResolver, PermissionSet) |
지정된 클래스를 사용하여 클래스의 XmlSecureResolver 새 인스턴스를 XmlResolverPermissionSet 초기화합니다. |
| XmlSecureResolver(XmlResolver, Evidence) |
지정된 클래스를 사용하여 클래스의 XmlSecureResolver 새 인스턴스를 XmlResolverEvidence 초기화합니다. |
| XmlSecureResolver(XmlResolver, String) |
제공된 URL을 사용하여 클래스의 XmlSecureResolver 새 인스턴스를 XmlResolver 초기화합니다. |
설명
세 가지 생성자는 세 가지 유형의 액세스 제한을 제공합니다.
XmlSecureResolver(XmlResolver, String) 생성자는 URL을 사용하여 액세스를 제한합니다.
XmlSecureResolver(XmlResolver, PermissionSet) 생성자는 권한 집합을 사용하여 액세스를 제한합니다.
XmlSecureResolver(XmlResolver, Evidence) 생성자는 증거를 사용하여 액세스를 제한합니다.
이러한 유형의 제한에 대한 예제는 생성자 참조 항목을 참조하세요.
XmlSecureResolver(XmlResolver, PermissionSet)
지정된 클래스를 사용하여 클래스의 XmlSecureResolver 새 인스턴스를 XmlResolverPermissionSet 초기화합니다.
public:
XmlSecureResolver(System::Xml::XmlResolver ^ resolver, System::Security::PermissionSet ^ permissionSet);
public XmlSecureResolver(System.Xml.XmlResolver resolver, System.Security.PermissionSet permissionSet);
new System.Xml.XmlSecureResolver : System.Xml.XmlResolver * System.Security.PermissionSet -> System.Xml.XmlSecureResolver
Public Sub New (resolver As XmlResolver, permissionSet As PermissionSet)
매개 변수
- resolver
- XmlResolver
에 의해 XmlSecureResolver래핑되는 XML 확인자입니다.
- permissionSet
- PermissionSet
기본에 적용할 권한 집합입니다 XmlResolver. XmlSecureResolver 기본 PermitOnly() XML 확인자에서 메서드를 호출하기 전에 권한 집합에서 메서드를 호출 GetEntity(Uri, String, Type) 합니다.
예제
다음 예제에서는 사용자 지정된 권한 집합을 XmlSecureResolver 사용하여 개체를 생성합니다.
public static Object GetFile (String fileURL, XmlResolver resolver) {
// Generate the default PermissionSet using the file URL.
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(fileURL);
PermissionSet myPermissions = SecurityManager.ResolvePolicy(evidence);
// Modify the PermissionSet to only allow access to http://www.contoso.com.
// Create a WebPermission which only allows access to http://www.contoso.com.
WebPermission myWebPermission = new WebPermission(NetworkAccess.Connect, "http://www.contoso.com");
// Replace the existing WebPermission in myPermissions with the updated WebPermission.
myPermissions.SetPermission(myWebPermission);
// Use the modified PermissionSet to construct the XmlSecureResolver.
XmlSecureResolver sResolver = new XmlSecureResolver(resolver, myPermissions);
// Get the object.
Uri fullUri = sResolver.ResolveUri(null, fileURL);
return sResolver.GetEntity(fullUri, null, null);
}
public shared function GetFile (fileURL as String , resolver as XmlResolver) as Object
' Generate the default PermissionSet using the file URL.
Dim evidence as Evidence = XmlSecureResolver.CreateEvidenceForUrl(fileURL)
Dim myPermissions as PermissionSet = SecurityManager.ResolvePolicy(evidence)
' Modify the PermissionSet to only allow access to http://www.contoso.com.
' Create a WebPermission that only allows access to http://www.contoso.com.
Dim myWebPermission as WebPermission = new WebPermission(NetworkAccess.Connect, "http://www.contoso.com")
' Replace the existing WebPermission in myPermissions with the updated WebPermission.
myPermissions.SetPermission(myWebPermission)
' Use the modified PermissionSet to construct the XmlSecureResolver.
Dim sResolver as XmlSecureResolver = new XmlSecureResolver(resolver, myPermissions)
' Get the object.
Dim fullUri as Uri = sResolver.ResolveUri(nothing, fileURL)
return sResolver.GetEntity(fullUri, nothing, nothing)
end function
추가 정보
적용 대상
XmlSecureResolver(XmlResolver, Evidence)
지정된 클래스를 사용하여 클래스의 XmlSecureResolver 새 인스턴스를 XmlResolverEvidence 초기화합니다.
public:
XmlSecureResolver(System::Xml::XmlResolver ^ resolver, System::Security::Policy::Evidence ^ evidence);
public XmlSecureResolver(System.Xml.XmlResolver resolver, System.Security.Policy.Evidence evidence);
new System.Xml.XmlSecureResolver : System.Xml.XmlResolver * System.Security.Policy.Evidence -> System.Xml.XmlSecureResolver
Public Sub New (resolver As XmlResolver, evidence As Evidence)
매개 변수
- resolver
- XmlResolver
에 의해 XmlSecureResolver래핑되는 XML 확인자입니다.
- evidence
- Evidence
기본에 적용할 증명 정보를 만드는 PermissionSet 데 사용되는 증거입니다 XmlResolver. 기본 XmlSecureResolver 을 호출 PermitOnly() 하기 전에 만든 PermissionSet 메서드를 호출 GetEntity(Uri, String, Type) 합니다 XmlResolver.
설명
다음은 각 시나리오에 대해 제공할 수 있는 몇 가지 시나리오 및 증거 유형입니다.
완전히 신뢰할 수 있는 환경에서 작업하는 경우 어셈블리를 사용하여 증거를 만듭니다.
Evidence myEvidence = this.GetType().Assembly.Evidence; XmlSecureResolver myResolver; myResolver = new XmlSecureResolver(new XmlUrlResolver(), myEvidence);Dim myEvidence As Evidence = Me.GetType().Assembly.Evidence Dim myResolver As XmlSecureResolver myResolver = New XmlSecureResolver(New XmlUrlResolver(), myEvidence)반 신뢰할 수 있는 환경에서 작업하는 경우 외부 원본에서 오는 코드 또는 데이터가 있고 외부 원본의 출처를 알고 있으며 확인 가능한 URI가 있는 경우 URI를 사용하여 증거를 만듭니다.
Evidence myEvidence = XmlSecureResolver.CreateEvidenceForUrl(sourceURI); XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), myEvidence);Dim myEvidence As Evidence = XmlSecureResolver.CreateEvidenceForUrl(sourceURI) Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), myEvidence)반 신뢰할 수 있는 환경에서 작업 중이고 외부 원본에서 오는 코드 또는 데이터가 있지만 외부 원본의 출처를 모르는 경우 다음 중 하나를 수행합니다.
evidence매개 변수를null로 설정합니다. 이렇게 하면 리소스에 액세스할 수 없습니다.-또는-
애플리케이션에 리소스에 대한 액세스 권한이 필요한 경우 호출자에게 증거를 요청합니다.
적용 대상
XmlSecureResolver(XmlResolver, String)
- Source:
- XmlSecureResolver.cs
- Source:
- XmlSecureResolver.cs
- Source:
- XmlSecureResolver.cs
- Source:
- XmlSecureResolver.cs
- Source:
- XmlSecureResolver.cs
제공된 URL을 사용하여 클래스의 XmlSecureResolver 새 인스턴스를 XmlResolver 초기화합니다.
public:
XmlSecureResolver(System::Xml::XmlResolver ^ resolver, System::String ^ securityUrl);
public XmlSecureResolver(System.Xml.XmlResolver resolver, string? securityUrl);
public XmlSecureResolver(System.Xml.XmlResolver resolver, string securityUrl);
new System.Xml.XmlSecureResolver : System.Xml.XmlResolver * string -> System.Xml.XmlSecureResolver
Public Sub New (resolver As XmlResolver, securityUrl As String)
매개 변수
- resolver
- XmlResolver
에 의해 XmlSecureResolver래핑되는 XML 확인자입니다.
- securityUrl
- String
기본에 적용할 URL을 PermissionSet만드는 XmlResolver 데 사용됩니다. XmlSecureResolver 기본을 호출 PermitOnly()PermissionSet 하기 전에 만든 GetEntity(Uri, String, Type) 호출입니다XmlResolver.
예제
이 예제에서는 생성자를 사용하여 XmlSecureResolver(XmlResolver, String) 로컬 인트라넷 사이트에만 액세스할 수 있는 개체를 만듭니 XmlSecureResolver 다.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://myLocalSite/");
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://myLocalSite/")
설명
Important
.NET Framework CLR(공용 언어 런타임)에서 실행되는 코드와 2005년 Microsoft SQL Server 내에 통합된 CLR에서 실행되는 코드에 대한 보안 인프라에는 차이가 있습니다. 이로 인해 .NET Framework CLR용으로 개발된 코드가 SQL Server 통합 CLR에서 사용될 때 다르게 작동하는 경우가 발생할 수 있습니다. URL을 기반으로 하는 증거가 있는 경우 (즉, XmlSecureResolver 메서드 또는 CreateEvidenceForUrl 생성자를 사용하는 경우), 이러한 차이점 중 하나가 XmlSecureResolver(XmlResolver, String) 클래스에 영향을 미칩니다. SQL Server 통합 CLR의 정책 해결 메커니즘은 Url 또는 Zone 정보를 사용하지 않습니다. 대신 어셈블리가 로드될 때 서버가 추가하는 GUID에 따라 사용 권한을 부여합니다. SQL Server 통합 CLR에서 사용하는 XmlSecureResolver 경우 지정된 PermissionSet값을 사용하여 필요한 증거를 직접 제공합니다.