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.
WebPermission Bir örneği, aşağıdaki parametre kümelerinden birini kullanarak oluşturucusunu çağırarak İçerik Oluşturucu:
Parametre yok. Varsayılan değer PermissionState şeklindedir None.
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 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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin