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
[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
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}")>]
type WebPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type WebPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
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.

Aşağıdaki parametre kümelerinden birini kullanarak oluşturucusunu çağırarak bir WebPermission örnek oluşturun:

ConnectList erişim iznini vermiş olduğunuz URI'leri ve AcceptList tutun. Bu listelerden herhangi birine URI eklemek için kullanın AddPermission. parametresi olarak NetworkAccess geçirirsenizAccept, URI öğesine AcceptListeklenir. WebPermission ile eşleşen URI'lerle 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. Yalnızca belirli bir kaynağa erişim izni vermek daha iyi bir yaklaşımdır. 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

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

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 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 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 WebPermission yeni bir örneğini oluşturur.

Özellikler

AcceptList
Geçersiz.

Bu özellik, bu tarafından WebPermissiontutulan tek bir kabul izinlerinin sabit listesi döndürür. Döndürülen numaralandırmada yer alan olası nesne türleri ve RegexşeklindedirString.

ConnectList
Geçersiz.

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

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 bir 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ındaki 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.

Xml kodlamasından bir WebPermission yeniden oluşturur.

GetHashCode()
Geçersiz.

Karma algoritmalarda ve karma tablo gibi veri yapılarında kullanıma uygun nesne için CodeAccessPermission bir 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ındaki daha yüksek çağıranların geçerli örnek tarafından belirtilen kaynak dışındaki 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.

ve geçerli durumunun WebPermission 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.