FileIOPermissionAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
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)]
[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)]
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}")>]
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
[<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
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
- 繼承
- 屬性
範例
下列程式代碼範例示範如何使用 FileIOPermissionAttribute 類別來要求 FileIOPermission,指出授與程式代碼的唯一許可權。
[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 連結庫中提出要求,以協助保護方法或類別免受潛在有害程式代碼的影響。
[FileIOPermissionAttribute(SecurityAction::Demand,Unrestricted=true)]
[FileIOPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
<FileIOPermissionAttribute(SecurityAction.Demand, _
Unrestricted := True)> Public Class SampleClass
備註
謹慎
所有 .NET Framework 和 .NET 版本都已被取代代碼存取安全性 (CAS)。 使用 CAS 相關 API 時,最新版本的 .NET 不會接受 CAS 批注併產生錯誤。 開發人員應該尋求替代方式來完成安全性工作。
檔案和目錄是使用絕對路徑來指定。 存取檔案時,會在建立或開啟檔案時執行安全性檢查。 除非檔案已關閉並重新開啟,否則不會再次進行安全性檢查。 第一次存取檔案時檢查許可權會將安全性檢查對應用程式效能的影響降到最低,因為開啟檔案只會發生一次,而讀取和寫入可能會多次發生。
允許的宣告範圍取決於所使用的 SecurityAction。
安全性屬性所宣告的安全性資訊會儲存在屬性目標的元數據中,並在運行時間由系統存取。 安全性屬性僅用於宣告式安全性。 針對命令式安全性,請使用對應的許可權類別。
謹慎
Unrestricted
FileIOPermission 授與文件系統內所有路徑的許可權,包括可用來存取單一指定檔案的多個路徑名稱。 若要 Deny 檔案的存取權,您必須 Deny
檔案的所有可能路徑。 例如,如果 \\server\share 對應到網路驅動器 X,若要 Deny
存取 \\server\share\file,您必須 Deny
\\server\share\file、X:\file,以及可用來存取檔案的任何其他路徑。
建構函式
FileIOPermissionAttribute(SecurityAction) |
已淘汰.
使用指定的 SecurityAction,初始化 FileIOPermissionAttribute 類別的新實例。 |
屬性
Action |
已淘汰.
取得或設定安全性動作。 (繼承來源 SecurityAttribute) |
All |
已淘汰.
已淘汰.
取得或設定字串值所指定之檔案或目錄的完整存取權。 |
AllFiles |
已淘汰.
取得或設定允許存取所有檔案。 |
AllLocalFiles |
已淘汰.
取得或設定所有本機檔案的允許存取權。 |
Append |
已淘汰.
取得或設定字串值所指定之檔案或目錄的附加存取權。 |
ChangeAccessControl |
已淘汰.
取得或設定可變更訪問控制資訊的檔案或目錄。 |
PathDiscovery |
已淘汰.
取得或設定要授與路徑探索的檔案或目錄。 |
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) |
已淘汰.
將一組名稱對應至對應的分派標識碼集。 (繼承來源 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
已淘汰.
擷取 物件的型別資訊,可用來取得介面的類型資訊。 (繼承來源 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
已淘汰.
擷取物件提供的類型資訊介面數目(0 或 1)。 (繼承來源 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
已淘汰.
提供物件所公開屬性和方法的存取權。 (繼承來源 Attribute) |