WebPermission Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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:
Parametre yok. Varsayılan değerdir PermissionStateNone.
Bir PermissionState. Unrestricted Herhangi bir URI'nin hedef sınıfta kullanılmasına izin vermek veya None yalnızca yöntemini kullanarak AddPermission belirttiğiniz URI'lere erişime izin vermek için belirtin.
Değer NetworkAccess ve URI dizesi. Belirtilen URI değeri tarafından NetworkAccess verilen izinlere sahip.
Tanımlayıcı NetworkAccess ve URI normal ifadesi.
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. |