GacIdentityPermissionAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
Code Access Security is not supported or honored by the runtime.
允許將 GacIdentityPermission 的安全性動作套用至使用宣告式安全性的程式碼。 此類別無法獲得繼承。
public ref class GacIdentityPermissionAttribute 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 GacIdentityPermissionAttribute : 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.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class GacIdentityPermissionAttribute : 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 GacIdentityPermissionAttribute : 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 GacIdentityPermissionAttribute = 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.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type GacIdentityPermissionAttribute = 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 GacIdentityPermissionAttribute = class
inherit CodeAccessSecurityAttribute
Public NotInheritable Class GacIdentityPermissionAttribute
Inherits CodeAccessSecurityAttribute
- 繼承
- 屬性
範例
下列範例示範 GacIdentityPermissionAttribute 的用法。
// To run this sample you must create a strong-name key named snkey.snk
// using the Strong Name tool (sn.exe). Both the library assembly and the
// application assembly that calls it must be signed with that key.
// To run successfully, the application assembly must be in the global
// assembly cache.
// This console application can be created using the following code.
//#using <mscorlib.dll>
//#using <ClassLibrary1.dll>
//using namespace System;
//using namespace System::Security;
//using namespace System::Reflection;
//using namespace ClassLibrary1;
//[assembly: AssemblyVersion(S"1.0.555.0")]
//[assembly: AssemblyKeyFile(S"snKey.snk")];
//int main()
//{
// try
// {
// Class1* myLib = new Class1();
// myLib->DoNothing();
//
// Console::WriteLine(S"Exiting the sample.");
// }
// catch (Exception* e)
// {
// Console::WriteLine(e->Message);
// }
//}
using namespace System;
using namespace System::Security::Permissions;
namespace ClassLibrary1
{
// Demand that the calling program be in the global assembly cache.
[GacIdentityPermissionAttribute(SecurityAction::Demand)]
public ref class Class1
{
public:
void DoNothing()
{
Console::WriteLine( "Exiting the library program." );
}
};
}
// To run this sample you must create a strong-name key named snkey.snk
// using the Strong Name tool (sn.exe). Both the library assembly and the
// application assembly that calls it must be signed with that key.
// To run successfully, the application assembly must be in the global
// assembly cache.
// This console application can be created using the following code.
//using System;
//using System.Security;
//using System.Reflection;
//using ClassLibrary1;
//[assembly: AssemblyVersion("1.0.555.0")]
//[assembly: AssemblyKeyFile("snKey.snk")]
//class MyClass
//{
// static void Main(string[] args)
// {
// try
// {
// Class1 myLib = new Class1();
// myLib.DoNothing();
//
// Console.WriteLine("Exiting the sample.");
// }
// catch (Exception e)
// {
// Console.WriteLine(e.Message);
// }
// }
//}
using System;
using System.Security.Permissions;
namespace ClassLibrary1
{
// Demand that the calling program be in the global assembly cache.
[GacIdentityPermissionAttribute(SecurityAction.Demand)]
public class Class1
{
public void DoNothing()
{
Console.WriteLine("Exiting the library program.");
}
}
}
' To run this sample you must create a strong-name key named snkey.snk
' using the Strong Name tool (sn.exe). Both the library assembly and the
' application assembly that calls it must be signed with that key.
' To run successfully, the application assembly must be in the global
' assembly cache.
' This console application can be created using the following code.
'Imports System.Security
'Imports System.Security.Policy
'Imports System.Security.Principal
'Imports System.Security.Permissions
'Imports ClassLibraryVB
'Class [MyClass]
'
' Overloads Shared Sub Main(ByVal args() As String)
' Try
' Dim myLib As New Class1
' myLib.DoNothing()
'
' Console.WriteLine("Exiting the sample.")
' Catch e As Exception
' Console.WriteLine(e.Message)
' End Try
' End Sub
'End Class
Imports System.Security.Permissions
' Demand that the calling program be in the global assembly cache.
<GacIdentityPermissionAttribute(SecurityAction.Demand)> _
Public Class Class1
Public Sub DoNothing()
Console.WriteLine("Exiting the library program.")
End Sub
End Class
備註
警告
程式代碼啟用安全性 (CAS) 在所有版本的 .NET Framework 和 .NET 中已被取代。 最新版本的 .NET 不接受 CAS 批注,並在使用 CAS 相關 API 時產生錯誤。 開發人員應尋求替代方案來完成安全性工作。
這個類別是用來確保呼叫者已在全域程式集緩存中註冊, (GAC) 。
允許的宣告範圍取決於 SecurityAction 所使用的值。
安全性屬性所宣告的安全性資訊會儲存在屬性目標的元數據中,並在運行時間由系統存取。 安全性屬性僅用於宣告式安全性。 針對命令式安全性,請使用對應的權限類別 。 GacIdentityPermission
重要
從 .NET Framework 4 開始,不會使用身分識別許可權。
在 .NET Framework 1.0 和 1.1 版中,即使呼叫元件完全信任,對身分識別許可權的要求仍有效。 也就是說,雖然呼叫元件具有完全信任,但如果元件不符合要求的準則,則識別許可權的需求會失敗。 在 .NET Framework 2.0 版中,如果呼叫元件具有完全信任,則身分識別許可權的要求無效。 這可確保所有許可權的一致性,以特殊案例消除身分識別許可權的處理方式。
如需使用屬性的詳細資訊,請參閱 屬性。
建構函式
GacIdentityPermissionAttribute(SecurityAction) |
已淘汰.
使用指定的 SecurityAction 值,初始化 GacIdentityPermissionAttribute 類別的新執行個體。 |
屬性
Action |
已淘汰.
取得或設定安全性動作。 (繼承來源 SecurityAttribute) |
TypeId |
已淘汰.
在衍生類別中實作時,取得這個 Attribute 的唯一識別碼。 (繼承來源 Attribute) |
Unrestricted |
已淘汰.
取得或設定數值,表示是否宣告由屬性所保護之資源的完整 (不受限制的) 使用權限。 (繼承來源 SecurityAttribute) |
方法
CreatePermission() |
已淘汰.
建立新的 GacIdentityPermission 物件。 |
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) |