FileIOPermissionAttribute 類別

定義

警告

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

允許將 FileIOPermission 的安全性動作套用至使用宣告式安全性的程式碼。 此類別無法獲得繼承。

public ref class FileIOPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[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 FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
繼承
屬性

範例

下列程式碼範例示範如何使用 類別來要求 FileIOPermissionFileIOPermissionAttribute ,指出要授與程式碼的唯一許可權。

[FileIOPermissionAttribute(SecurityAction::PermitOnly,ViewAndModify="C:\\example\\sample.txt")]
[FileIOPermissionAttribute(SecurityAction.PermitOnly, ViewAndModify = "C:\\example\\sample.txt")]
<FileIOPermissionAttribute(SecurityAction.PermitOnly, _
ViewAndModify:="C:\example\sample.txt")> Public Class SampleClass

下列範例示範如何要求呼叫程式碼具有不受限制 FileIOPermission 的 。 您通常會在 Managed 程式庫中 (DLL) 提出要求,以協助保護方法或類別免于可能有害的程式碼。

[FileIOPermissionAttribute(SecurityAction::Demand,Unrestricted=true)]
[FileIOPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
<FileIOPermissionAttribute(SecurityAction.Demand, _
 Unrestricted := True)> Public Class SampleClass

備註

警告

程式碼啟用安全性 (CAS) 在所有版本的 .NET Framework 和 .NET 中已被取代。 最新版本的 .NET 不接受 CAS 批註,並在使用 CAS 相關 API 時產生錯誤。 開發人員應該尋求替代方式來完成安全性工作。

檔案和目錄是使用絕對路徑來指定。 存取檔案時,會在建立或開啟檔案時執行安全性檢查。 除非檔案已關閉並重新開啟,否則不會再次執行安全性檢查。 第一次存取檔案時檢查許可權會將安全性檢查對應用程式效能的影響降到最低,因為開啟檔案只會發生一次,而讀取和寫入可能會多次發生。

允許的宣告範圍取決於 SecurityAction 所使用的 。

安全性屬性所宣告的安全性資訊會儲存在屬性目標的中繼資料中,並在執行時間由系統存取。 安全性屬性僅用於宣告式安全性。 若要取得命令式安全性,請使用對應的許可權類別。

警告

UnrestrictedFileIOPermission 授與檔案系統內所有路徑的許可權,包括可用來存取單一指定檔案的多個路徑名稱。 若要 Deny 存取檔案,您必須 Deny 擁有檔案的所有可能路徑。 例如,如果 \\server\share 對應到網路磁碟機機 X,若要 Deny 存取 \\server\share\file,您必須 Deny \\server\share\file、X:\file 以及可用來存取檔案的任何其他路徑。

建構函式

FileIOPermissionAttribute(SecurityAction)
已淘汰.

使用指定的 FileIOPermissionAttribute 初始化 SecurityAction 類別的新執行個體。

屬性

Action
已淘汰.

取得或設定安全性動作。

(繼承來源 SecurityAttribute)
All
已淘汰.
已淘汰.
已淘汰.

取得或設定字串值所指定檔案或目錄的完整存取權。

AllFiles
已淘汰.

取得或設定允許的所有檔案存取。

AllLocalFiles
已淘汰.

取得或設定允許的所有本機檔案存取。

Append
已淘汰.

取得或設定字串值所指定檔案或目錄的附加存取權。

ChangeAccessControl
已淘汰.

取得或設定可以在其中變更存取控制資訊的檔案或目錄。

PathDiscovery
已淘汰.

取得或設定要授與路徑探索 (Discovery) 的檔案或目錄。

Read
已淘汰.

取得或設定字串值所指定檔案或目錄的讀取權限。

TypeId
已淘汰.

在衍生類別中實作時,取得這個 Attribute 的唯一識別碼。

(繼承來源 Attribute)
Unrestricted
已淘汰.

取得或設定數值,表示是否宣告由屬性所保護之資源的完整 (不受限制的) 使用權限。

(繼承來源 SecurityAttribute)
ViewAccessControl
已淘汰.

取得或設定可以在其中檢視存取控制資訊的檔案或目錄。

ViewAndModify
已淘汰.

取得或設定可以在其中檢視和修改檔案資料的檔案或目錄。

Write
已淘汰.

取得或設定字串值所指定檔案或目錄的寫入權限。

方法

CreatePermission()
已淘汰.

建立及傳回新的 FileIOPermission

Equals(Object)
已淘汰.

傳回值,這個值指出此執行個體是否與指定的物件相等。

(繼承來源 Attribute)
GetHashCode()
已淘汰.

傳回這個執行個體的雜湊碼。

(繼承來源 Attribute)
GetType()
已淘汰.

取得目前執行個體的 Type

(繼承來源 Object)
IsDefaultAttribute()
已淘汰.

在衍生類別中覆寫時,表示這個執行個體的值是衍生類別的預設值。

(繼承來源 Attribute)
Match(Object)
已淘汰.

在衍生類別中覆寫時,會傳回值,表示這個執行個體是否等於指定物件。

(繼承來源 Attribute)
MemberwiseClone()
已淘汰.

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()
已淘汰.

傳回代表目前物件的字串。

(繼承來源 Object)

明確介面實作

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)
已淘汰.

將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。

(繼承來源 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)
已淘汰.

擷取物件的類型資訊,可以用來取得介面的類型資訊。

(繼承來源 Attribute)
_Attribute.GetTypeInfoCount(UInt32)
已淘汰.

擷取物件提供的類型資訊介面數目 (0 或 1)。

(繼承來源 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
已淘汰.

提供物件所公開的屬性和方法的存取權。

(繼承來源 Attribute)

適用於

另請參閱