WebPermission Sınıf

Tanım

Dikkat

Code Access Security is not supported or honored by the runtime.

HTTP İnternet kaynaklarına erişim haklarını denetler.

public ref class WebPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
public sealed class WebPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class WebPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class WebPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type WebPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type WebPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type WebPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class WebPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Devralma
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnekte kullanarak Regexyeni bir örneğinin nasıl oluşturulacağı gösterilmektedirWebPermission. Bağlan ve kabul et listesine WebPermissionek konaklar eklenir. Son olarak, bağlan ve kabul et listesi konsolda görüntülenir.

//  Create a Regex that accepts all URLs containing the host fragment www.contoso.com.
Regex^ myRegex = gcnew Regex( "http://www\\.contoso\\.com/.*" );

// Create a WebPermission that gives permissions to all the hosts containing the same host fragment.
WebPermission^ myWebPermission = gcnew WebPermission( NetworkAccess::Connect,myRegex );

//Add connect privileges for a www.adventure-works.com.
myWebPermission->AddPermission( NetworkAccess::Connect, "http://www.adventure-works.com" );

//Add accept privileges for www.alpineskihouse.com.
myWebPermission->AddPermission( NetworkAccess::Accept, "http://www.alpineskihouse.com/" );

// Check whether all callers higher in the call stack have been granted the permission.
myWebPermission->Demand();

// Get all the URIs with Connect permission.
IEnumerator^ myConnectEnum = myWebPermission->ConnectList;
Console::WriteLine( "\nThe 'URIs' with 'Connect' permission are :\n" );
while ( myConnectEnum->MoveNext() )
{
   Console::WriteLine( "\t{0}", myConnectEnum->Current );
}

// Get all the URIs with Accept permission.   
IEnumerator^ myAcceptEnum = myWebPermission->AcceptList;
Console::WriteLine( "\n\nThe 'URIs' with 'Accept' permission is :\n" );

while ( myAcceptEnum->MoveNext() )
{
   Console::WriteLine( "\t{0}", myAcceptEnum->Current );
}

   //  Create a Regex that accepts all URLs containing the host fragment www.contoso.com.
   Regex myRegex = new Regex(@"http://www\.contoso\.com/.*");

   // Create a WebPermission that gives permissions to all the hosts containing the same host fragment.
   WebPermission myWebPermission = new WebPermission(NetworkAccess.Connect,myRegex);
   
   //Add connect privileges for a www.adventure-works.com.
   myWebPermission.AddPermission(NetworkAccess.Connect,"http://www.adventure-works.com");
   
   //Add accept privileges for www.alpineskihouse.com.
   myWebPermission.AddPermission(NetworkAccess.Accept, "http://www.alpineskihouse.com/");
   
   // Check whether all callers higher in the call stack have been granted the permission.
   myWebPermission.Demand();
   
   // Get all the URIs with Connect permission.
   IEnumerator myConnectEnum = myWebPermission.ConnectList;
   Console.WriteLine("\nThe 'URIs' with 'Connect' permission are :\n");
   while (myConnectEnum.MoveNext())
   {Console.WriteLine("\t" + myConnectEnum.Current);}

   // Get all the URIs with Accept permission.	  
   IEnumerator myAcceptEnum = myWebPermission.AcceptList;
   Console.WriteLine("\n\nThe 'URIs' with 'Accept' permission is :\n");
     
   while (myAcceptEnum.MoveNext())
     {Console.WriteLine("\t" + myAcceptEnum.Current);}
  ' Create a Regex that accepts all the URLs contianing the host fragment www.contoso.com.
  Dim myRegex As New Regex("http://www\.contoso\.com/.*")
    
  ' Create a WebPermission that gives permission to all the hosts containing same host fragment.
  Dim myWebPermission As New WebPermission(NetworkAccess.Connect, myRegex)
  ' Add connect privileges for a www.adventure-works.com.
  myWebPermission.AddPermission(NetworkAccess.Connect, "http://www.adventure-works.com")
  ' Add accept privileges for www.alpineskihouse.com.
  myWebPermission.AddPermission(NetworkAccess.Accept, "http://www.alpineskihouse.com/")
  ' Check whether all callers higher in the call stack have been granted the permission.
  myWebPermission.Demand()
    
  ' Get all the URIs with Connect permission.
  Dim myConnectEnum As IEnumerator = myWebPermission.ConnectList
  Console.WriteLine(ControlChars.NewLine + "The 'URIs' with 'Connect' permission are :" + ControlChars.NewLine)
  While myConnectEnum.MoveNext()
    Console.WriteLine((ControlChars.Tab + myConnectEnum.Current.ToString()))
  End While 
  
  ' Get all the URIs with Accept permission.	  
  Dim myAcceptEnum As IEnumerator = myWebPermission.AcceptList
  Console.WriteLine(ControlChars.NewLine + ControlChars.NewLine + "The 'URIs' with 'Accept' permission is :" + ControlChars.NewLine)

  While myAcceptEnum.MoveNext()
    Console.WriteLine((ControlChars.Tab + myAcceptEnum.Current))
  End While

Açıklamalar

Dikkat

Kod Erişim Güvenliği (CAS), .NET Framework ve .NET'in tüm sürümlerinde kullanım dışı bırakılmıştır. .NET'in son sürümleri CAS ek açıklamalarını dikkate almaz ve CAS ile ilgili API'ler kullanılıyorsa hata üretir. Geliştiriciler, güvenlik görevlerini yerine getirmek için alternatif yöntemler aramalıdır.

WebPermission , İnternet kaynaklarına erişimi denetlemek için bir dizi yöntem ve özellik sağlar. oluşturulduğunda ayarlanana WebPermission göre PermissionState kaynağınıza kısıtlanmış veya kısıtlanmamış erişim sağlamak için bir WebPermission kullanabilirsiniz.

WebPermission Bir örneği, aşağıdaki parametre kümelerinden birini kullanarak oluşturucusunu çağırarak İçerik Oluşturucu:

ConnectList ve AcceptList erişim izni vermiş olduğunuz URI'leri tutun. Bu listelerden herhangi biri için bir URI eklemek için kullanın AddPermission. parametresi olarak NetworkAccess geçirirsenizAccept, URI öğesine AcceptListeklenir. WebPermission ile eşleşen URI'ler ile hedef sınıfınıza bağlantılara AcceptListizin verir.

Dikkat

Bir İnternet kaynağına erişimi reddetmek için, bu kaynağın tüm olası yollarına erişimi reddetmeniz gerekir. Bunun için durum parametresi olarak ayarlanmış çağrı WebPermission.WebPermission yapılması Denygerekir. Daha iyi bir yaklaşım, yalnızca belirli kaynağa erişim izni vermektir. Bu konu hakkında daha fazla bilgi için Reddetme Yöntemini Kullanma konusuna bakın.

Not

Yalnızca kaynak kurallı yolunu kullanarak erişimi reddetmeniz gerekir. Yolun söz dizimsel varyasyonlarının tümünü kullanmanıza gerek yoktur.

Not

Kullanıcı adı ve varsayılan bağlantı noktası bilgileri, oluşturucuya sağlanan WebPermission(NetworkAccess, Regex) normal ifade bağımsız değişkeniyle karşılaştırmadan önce öğesinden Uri çıkarılır. Normal ifade kullanıcı bilgilerini veya varsayılan bağlantı noktası numarasını içeriyorsa, tüm gelenler Urinormal ifadeyle eşleşmez.

Oluşturucular

WebPermission()
Geçersiz.

WebPermission sınıfının yeni bir örneğini oluşturur.

WebPermission(NetworkAccess, Regex)
Geçersiz.

Belirtilen URI normal ifadesi için belirtilen erişim haklarına sahip sınıfının yeni bir örneğini WebPermission başlatır.

WebPermission(NetworkAccess, String)
Geçersiz.

Belirtilen URI için belirtilen erişim haklarına sahip sınıfının yeni bir örneğini WebPermission başlatır.

WebPermission(PermissionState)
Geçersiz.

Tüm talepleri geçiren veya tüm talepleri başarısız olan sınıfının yeni bir örneğini WebPermission oluşturur.

Özellikler

AcceptList
Geçersiz.

Bu özellik, bu WebPermissiontarafından tutulan tek bir kabul izinlerinin numaralandırması döndürür. Döndürülen numaralandırmada yer alan olası nesne türleri ve Regex'dirString.

ConnectList
Geçersiz.

Bu özellik, bu WebPermissiontarafından tutulan tek bir bağlantı izinlerinin numaralandırması döndürür. Döndürülen numaralandırmada yer alan olası nesne türleri ve Regex'dirString.

Yöntemler

AddPermission(NetworkAccess, Regex)
Geçersiz.

Belirtilen erişim haklarına sahip belirtilen URI'yi geçerli WebPermissionöğesine ekler.

AddPermission(NetworkAccess, String)
Geçersiz.

Belirtilen erişim haklarına sahip belirtilen URI dizesini geçerli WebPermissionöğesine ekler.

Assert()
Geçersiz.

Yığında daha yüksek arayanlara kaynağa erişim izni verilmemiş olsa bile çağıran kodun bu yöntemi çağıran kod aracılığıyla izin talebiyle korunan kaynağa erişebileceğini bildirir. kullanmak Assert() güvenlik sorunları oluşturabilir.

(Devralındığı yer: CodeAccessPermission)
Copy()
Geçersiz.

bir kopyasını WebPermissionoluşturur.

Demand()
Geçersiz.

Çağrı yığınında daha yüksek olan tüm arayanlara geçerli örnek tarafından belirtilen izin verilmediyse, çalışma zamanında bir SecurityException zorlar.

(Devralındığı yer: CodeAccessPermission)
Deny()
Geçersiz.
Geçersiz.

Çağrı yığınında daha yüksek çağıranların geçerli örnek tarafından belirtilen kaynağa erişmek için bu yöntemi çağıran kodu kullanmasını engeller.

(Devralındığı yer: CodeAccessPermission)
Equals(Object)
Geçersiz.

Belirtilen CodeAccessPermission nesnenin geçerli CodeAccessPermissionöğesine eşit olup olmadığını belirler.

(Devralındığı yer: CodeAccessPermission)
FromXml(SecurityElement)
Geçersiz.

Bir XML kodlamasından bir WebPermission yeniden oluşturur.

GetHashCode()
Geçersiz.

Karma algoritmalarında ve karma tablosu gibi veri yapılarında kullanıma uygun nesne için CodeAccessPermission karma kodu alır.

(Devralındığı yer: CodeAccessPermission)
GetType()
Geçersiz.

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
Intersect(IPermission)
Geçersiz.

İki WebPermission örneğin mantıksal kesişimini döndürür.

IsSubsetOf(IPermission)
Geçersiz.

Geçerlinin WebPermission belirtilen nesnenin bir alt kümesi olup olmadığını belirler.

IsUnrestricted()
Geçersiz.

genel izin durumunu WebPermissiondenetler.

MemberwiseClone()
Geçersiz.

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
PermitOnly()
Geçersiz.

Çağrı yığınında daha yüksek çağıranların geçerli örnek tarafından belirtilen kaynak dışında tüm kaynaklara erişmek için bu yöntemi çağıran kodu kullanmasını engeller.

(Devralındığı yer: CodeAccessPermission)
ToString()
Geçersiz.

Geçerli izin nesnesinin dize gösterimini oluşturur ve döndürür.

(Devralındığı yer: CodeAccessPermission)
ToXml()
Geçersiz.

bir WebPermission ve geçerli durumunun XML kodlamasını oluşturur.

Union(IPermission)
Geçersiz.

sınıfının iki örneği WebPermission arasındaki mantıksal birleşimi döndürür.

Şunlara uygulanır

Ayrıca bkz.