FileIOPermission Sınıf

Tanım

Dikkat

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

Dosya ve klasörlere erişme özelliğini denetler. Bu sınıf devralınamaz.

public ref class FileIOPermission 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 FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class FileIOPermission : 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 FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class FileIOPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Devralma
FileIOPermission
Öznitelikler
Uygulamalar

Açıklamalar

Caution

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ırsa hata üretir. Geliştiriciler, güvenlik görevlerini yerine getirmek için alternatif yöntemler aramalıdır.

Bu izin, tarafından FileIOPermissionAccesssağlanan aşağıdaki dört dosya GÇ erişimi türünü birbirinden ayırır:

  • Read: Dosyanın içeriğine erişimi okuyun veya dosya hakkındaki bilgilere (uzunluğu veya son değişiklik zamanı gibi) erişin.

  • Write: Dosyanın içeriğine erişim veya dosya hakkındaki bilgileri değiştirmek için adı gibi bir erişim yazın. Ayrıca silmeye ve üzerine yazmaya izin verir.

  • Append: Yalnızca bir dosyanın sonuna yazabilme. Okuma yeteneği yok.

  • PathDiscovery: Yoldaki bilgilere erişim. Bu, yoldaki kullanıcı adları gibi hassas bilgilerin yanı sıra yolda gösterilen dizin yapısı hakkındaki bilgilerin korunmasına yardımcı olur. Bu değer, yol tarafından temsil edilen dosyalara veya klasörlere erişim izni vermez.

Note

Bir Write derlemeye erişim vermek, derlemeye tam güven vermeye benzer. Bir uygulama dosya sistemine yazmamalıdır, erişime sahip Write olmamalıdır.

Tüm bu izinler bağımsızdır; başka bir deyişle, bir iznin hakları başka bir hak anlamına gelmez. Örneğin, Write izin veya Readiçin Append izin anlamına gelmez. Birden fazla izin istenirse, aşağıdaki kod örneğinde gösterildiği gibi bit düzeyinde VEYA kullanılarak birleştirilebilir. Dosya izni kurallı mutlak yollar açısından tanımlanır; çağrıları her zaman kurallı dosya yolları ile yapılmalıdır.

FileIOPermission dosya ve klasörlerdeki korumalı işlemleri açıklar. sınıfı, File dosyalara ve klasörlere güvenli erişim sağlamaya yardımcı olur. Dosya tanıtıcısı oluşturulduğunda güvenlik erişim denetimi gerçekleştirilir. Denetim oluşturma zamanında yapıldığında güvenlik denetiminin performans etkisi en aza indirilir. Bir dosyayı açmak bir kez gerçekleşirken, okuma ve yazma birden çok kez gerçekleşebilir. Dosya açıldıktan sonra başka denetim yapılmaz. Nesne güvenilmeyen bir çağırana geçirilirse kötüye kullanılabilir. Örneğin, dosya tanıtıcıları, daha az izne sahip kodun bunlara erişebildiği genel genel statiklerde depolanmamalıdır.

FileIOPermissionAccess dosya veya klasörde gerçekleştirilebilecek eylemleri belirtir. Buna ek olarak, bu eylemler karmaşık örnekler oluşturmak için bit düzeyinde OR kullanılarak birleştirilebilir.

Klasöre erişim, içerdiği tüm dosyalara ve alt klasörlerindeki tüm dosya ve klasörlere erişim anlamına gelir. Örneğin, Read C:\folder1\ öğesine erişim, C:\folder1\file1.txt, C:\folder1\folder2\, C:\folder1\folder2\file2.txtvb. erişim anlamına gelir Read .

Note

.NET Framework 4'ün önceki .NET Framework sürümlerinde, sistem kaynaklarına güvenilir kodla yanlışlıkla erişimi önlemek için CodeAccessPermission.Deny yöntemini kullanabilirsiniz. Deny artık kullanım dışıdır ve kaynaklara erişim artık yalnızca bir derleme için verilen izin kümesi tarafından belirlenir. Dosyalara erişimi sınırlamak için korumalı alanda kısmen güvenilen kod çalıştırmanız ve yalnızca kodun erişmesine izin verilen kaynaklara izinler atamanız gerekir. Korumalı alanda uygulama çalıştırma hakkında bilgi için bkz . Nasıl yapılır: Korumalı Alanda Kısmen Güvenilen Kod Çalıştırma.

Oluşturucular

Name Description
FileIOPermission(FileIOPermissionAccess, AccessControlActions, String)
Geçersiz.

Belirtilen dosya veya dizine belirtilen erişim ve dosya denetimi bilgilerine belirtilen erişim hakları ile sınıfının yeni bir örneğini FileIOPermission başlatır.

FileIOPermission(FileIOPermissionAccess, AccessControlActions, String[])
Geçersiz.

Belirlenen dosya ve dizinlere belirtilen erişim ve dosya denetimi bilgilerine belirtilen erişim haklarıyla sınıfının yeni bir örneğini FileIOPermission başlatır.

FileIOPermission(FileIOPermissionAccess, String)
Geçersiz.

Belirtilen dosya veya dizine belirtilen erişimle sınıfının yeni bir örneğini FileIOPermission başlatır.

FileIOPermission(FileIOPermissionAccess, String[])
Geçersiz.

Belirtilen dosyalara ve dizinlere belirtilen erişimle sınıfının yeni bir örneğini FileIOPermission başlatır.

FileIOPermission(PermissionState)
Geçersiz.

Sınıfın FileIOPermission yeni bir örneğini belirtilen şekilde tamamen kısıtlanmış veya kısıtlanmamış izinle başlatır.

Özellikler

Name Description
AllFiles
Geçersiz.

Tüm dosyalara izin verilen erişimi alır veya ayarlar.

AllLocalFiles
Geçersiz.

Tüm yerel dosyalara izin verilen erişimi alır veya ayarlar.

Yöntemler

Name Description
AddPathList(FileIOPermissionAccess, String)
Geçersiz.

Belirtilen dosya veya dizin için erişimi iznin var olan durumuna ekler.

AddPathList(FileIOPermissionAccess, String[])
Geçersiz.

Belirtilen dosyalar ve dizinler için erişimi iznin var olan durumuna 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.

Geçerli iznin özdeş bir kopyasını oluşturur ve döndürür.

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 FileIOPermission nesnenin geçerli FileIOPermissionöğesine eşit olup olmadığını belirler.

FromXml(SecurityElement)
Geçersiz.

XML kodlamasından belirtilen duruma sahip bir izni yeniden oluşturur.

GetHashCode()
Geçersiz.

Karma algoritmalarda ve karma tablo gibi veri yapılarında kullanıma uygun nesne için FileIOPermission bir karma kodu alır.

GetPathList(FileIOPermissionAccess)
Geçersiz.

Belirtilen FileIOPermissionAccessile tüm dosyaları ve dizinleri alır.

GetType()
Geçersiz.

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

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

Geçerli iznin ve belirtilen iznin kesişimi olan bir izin oluşturur ve döndürür.

IsSubsetOf(IPermission)
Geçersiz.

Geçerli iznin belirtilen iznin bir alt kümesi olup olmadığını belirler.

IsUnrestricted()
Geçersiz.

Geçerli iznin kısıtlanıp kısıtlanmadığını belirten bir değer döndürür.

MemberwiseClone()
Geçersiz.

Geçerli Objectbasit 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)
SetPathList(FileIOPermissionAccess, String)
Geçersiz.

Belirtilen erişimi belirtilen dosya veya dizine ayarlar ve iznin mevcut durumunu değiştirir.

SetPathList(FileIOPermissionAccess, String[])
Geçersiz.

Belirtilen dosya ve dizinlere belirtilen erişimi ayarlar ve belirtilen erişim için geçerli durumu yeni yol kümesiyle değiştirir.

ToString()
Geçersiz.

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

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

İznin ve geçerli durumunun XML kodlamasını oluşturur.

Union(IPermission)
Geçersiz.

Geçerli iznin ve belirtilen iznin birleşimi olan bir izin oluşturur.

Şunlara uygulanır

Ayrıca bkz.