WebPermission Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Perhatian
Code Access Security is not supported or honored by the runtime.
Mengontrol hak untuk mengakses sumber daya Http Internet.
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
- Warisan
- Atribut
- Penerapan
Contoh
Contoh berikut menunjukkan cara membuat instans baru menggunakan WebPermissionRegex. Host tambahan ditambahkan ke daftar sambungkan dan terima .WebPermission Terakhir, daftar sambungkan dan terima ditampilkan ke konsol.
// 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
Keterangan
Perhatian
Keamanan Akses Kode (CAS) tidak digunakan lagi di semua versi .NET Framework dan .NET. Versi terbaru .NET tidak mematuhi anotasi CAS dan menghasilkan kesalahan jika API terkait CAS digunakan. Pengembang harus mencari cara alternatif untuk menyelesaikan tugas keamanan.
WebPermission menyediakan sekumpulan metode dan properti untuk mengontrol akses ke sumber daya Internet. Anda dapat menggunakan WebPermission untuk menyediakan akses terbatas atau tidak terbatas ke sumber daya Anda, berdasarkan PermissionState yang diatur saat WebPermission dibuat.
Buat WebPermission instans dengan memanggil konstruktornya menggunakan salah satu set parameter berikut:
Tidak ada parameter. PermissionState Defaultnya adalah None.
PermissionState. Tentukan untuk Unrestricted mengizinkan URI apa pun digunakan di kelas target, atau None untuk mengizinkan akses hanya ke URI yang Anda tentukan melalui penggunaan AddPermission metode .
Nilai NetworkAccess dan string URI. URI yang ditentukan memiliki izin yang diberikan oleh NetworkAccess nilai .
Penentu NetworkAccess dan ekspresi reguler URI.
ConnectList dan AcceptList tahan URI tempat Anda telah memberikan izin akses. Untuk menambahkan URI ke salah satu daftar ini, gunakan AddPermission. Jika Anda meneruskan AcceptNetworkAccess sebagai parameter , URI akan ditambahkan ke AcceptList. WebPermission akan memungkinkan koneksi ke kelas target Anda dengan URI yang cocok dengan AcceptList.
Perhatian
Untuk menolak akses ke sumber daya Internet, Anda harus menolak akses ke semua jalur yang mungkin ke sumber daya tersebut. Ini mengharuskan WebPermission.WebPermission panggilan dengan parameter status diatur ke Deny. Pendekatan yang lebih baik adalah mengizinkan akses ke sumber daya tertentu saja. Untuk informasi selengkapnya tentang subjek ini, lihat topik Menggunakan Metode Tolak .
Catatan
Anda perlu menolak akses hanya menggunakan jalur kanonis sumber daya. Tidak perlu menggunakan semua variasi sintaksis jalur.
Catatan
Nama pengguna dan informasi port default dilucuti dari Uri sebelum perbandingan dengan argumen ekspresi reguler yang diberikan ke WebPermission(NetworkAccess, Regex) konstruktor. Jika ekspresi reguler berisi informasi pengguna atau nomor port default, semua yang masuk Uriakan gagal mencocokkan ekspresi reguler.
Konstruktor
WebPermission() |
Kedaluwarsa.
Membuat instans WebPermission baru kelas . |
WebPermission(NetworkAccess, Regex) |
Kedaluwarsa.
Menginisialisasi instans WebPermission baru kelas dengan hak akses yang ditentukan untuk ekspresi reguler URI yang ditentukan. |
WebPermission(NetworkAccess, String) |
Kedaluwarsa.
Menginisialisasi instans WebPermission baru kelas dengan hak akses yang ditentukan untuk URI yang ditentukan. |
WebPermission(PermissionState) |
Kedaluwarsa.
Membuat instans baru kelas WebPermission yang melewati semua tuntutan atau gagal semua tuntutan. |
Properti
AcceptList |
Kedaluwarsa.
Properti ini mengembalikan enumerasi dari satu izin penerimaan yang dipegang oleh ini WebPermission. Jenis objek yang mungkin terkandung dalam enumerasi yang dikembalikan adalah String dan Regex. |
ConnectList |
Kedaluwarsa.
Properti ini mengembalikan enumerasi izin koneksi tunggal yang dipegang oleh ini WebPermission. Jenis objek yang mungkin terkandung dalam enumerasi yang dikembalikan adalah String dan Regex. |
Metode
AddPermission(NetworkAccess, Regex) |
Kedaluwarsa.
Menambahkan URI yang ditentukan dengan hak akses yang ditentukan ke saat ini WebPermission. |
AddPermission(NetworkAccess, String) |
Kedaluwarsa.
Menambahkan string URI yang ditentukan dengan hak akses yang ditentukan ke saat ini WebPermission. |
Assert() |
Kedaluwarsa.
Menyatakan bahwa kode panggilan dapat mengakses sumber daya yang dilindungi oleh permintaan izin melalui kode yang memanggil metode ini, bahkan jika penelepon yang lebih tinggi di tumpukan belum diberikan izin untuk mengakses sumber daya. Menggunakan Assert() dapat membuat masalah keamanan. (Diperoleh dari CodeAccessPermission) |
Copy() |
Kedaluwarsa.
Membuat salinan .WebPermission |
Demand() |
Kedaluwarsa.
SecurityException Memaksa pada durasi jika semua penelepon yang lebih tinggi dalam tumpukan panggilan belum diberikan izin yang ditentukan oleh instans saat ini. (Diperoleh dari CodeAccessPermission) |
Deny() |
Kedaluwarsa.
Kedaluwarsa.
Mencegah penelepon yang lebih tinggi dalam tumpukan panggilan menggunakan kode yang memanggil metode ini untuk mengakses sumber daya yang ditentukan oleh instans saat ini. (Diperoleh dari CodeAccessPermission) |
Equals(Object) |
Kedaluwarsa.
Menentukan apakah objek yang ditentukan CodeAccessPermission sama dengan objek saat ini CodeAccessPermission. (Diperoleh dari CodeAccessPermission) |
FromXml(SecurityElement) |
Kedaluwarsa.
Merekonstruksi WebPermission dari pengodean XML. |
GetHashCode() |
Kedaluwarsa.
Mendapatkan kode hash untuk CodeAccessPermission objek yang cocok untuk digunakan dalam algoritma hash dan struktur data seperti tabel hash. (Diperoleh dari CodeAccessPermission) |
GetType() |
Kedaluwarsa.
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
Intersect(IPermission) |
Kedaluwarsa.
Mengembalikan persimpangan logis dari dua WebPermission instans. |
IsSubsetOf(IPermission) |
Kedaluwarsa.
Menentukan apakah saat ini WebPermission adalah subset dari objek yang ditentukan. |
IsUnrestricted() |
Kedaluwarsa.
Memeriksa status izin keseluruhan dari WebPermission. |
MemberwiseClone() |
Kedaluwarsa.
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
PermitOnly() |
Kedaluwarsa.
Mencegah penelepon yang lebih tinggi dalam tumpukan panggilan menggunakan kode yang memanggil metode ini untuk mengakses semua sumber daya kecuali untuk sumber daya yang ditentukan oleh instans saat ini. (Diperoleh dari CodeAccessPermission) |
ToString() |
Kedaluwarsa.
Membuat dan mengembalikan representasi string dari objek izin saat ini. (Diperoleh dari CodeAccessPermission) |
ToXml() |
Kedaluwarsa.
Membuat pengodean XML dari dan WebPermission statusnya saat ini. |
Union(IPermission) |
Kedaluwarsa.
Mengembalikan persatuan logis antara dua instans WebPermission kelas. |