Get the App
SLTechnology News&Howtos  ›  Development  › 

How can C # modify security permissions through permission classes and permission properties

Shulou Source: shulou.com Published: 2022-06-03 14:33:12 09月21日 Update

This article mainly explains "how C # modifies security permissions through permission classes and permission properties". Interested friends may wish to take a look. The method introduced in this paper is simple, fast and practical. Let's let the editor take you to learn "how C # modifies security permissions through permission classes and permission properties".

Using System;using System.Security;using System.Security.Permissions;using System.Runtime.InteropServices;class NativeMethods {[DllImport ("msvcrt.dll")] public static extern int puts (string str); [DllImport ("msvcrt.dll")] internal static extern int _ flushall ();} class MainClass {private static void CallUnmanagedCodeWithoutPermission () {SecurityPermission perm = new SecurityPermission (SecurityPermissionFlag.UnmanagedCode); perm.Deny () Try {Console.WriteLine ("Attempting to call unmanaged code without permission."); NativeMethods.puts ("Hello World!"); NativeMethods._flushall (); Console.WriteLine ("Called unmanaged code without permission. Whoops! ");} catch (SecurityException) {Console.WriteLine (" Caught SecurityException attempting to call unmanaged code. ");}} private static void CallUnmanagedCodeWithPermission () {SecurityPermission perm = new SecurityPermission (SecurityPermissionFlag.UnmanagedCode); perm.Assert (); try {Console.WriteLine (" Attempting to call unmanaged code with permission. ") NativeMethods.puts ("Hello World!"); NativeMethods._flushall (); Console.WriteLine ("Called unmanaged code with permission.");} catch (SecurityException) {Console.WriteLine ("Caught SecurityException attempting to call unmanaged code. Whoops! ");}} public static void Main () {SecurityPermission perm = new SecurityPermission (SecurityPermissionFlag.UnmanagedCode); perm.Assert (); CallUnmanagedCodeWithoutPermission (); perm.Deny (); CallUnmanagedCodeWithPermission ();}} using System;using System.Security;using System.Security.Permissions;using System.Runtime.InteropServices Class NativeMethods {[DllImport ("msvcrt.dll")] public static extern int puts (string str); [DllImport ("msvcrt.dll")] internal static extern int _ flushall ();} class MainClass {[SecurityPermission (SecurityAction.Deny, Flags = SecurityPermissionFlag.UnmanagedCode)] private static void CallUnmanagedCodeWithoutPermission () {try {Console.WriteLine ("Attempting to call unmanaged code without permission.") NativeMethods.puts ("Hello World!"); NativeMethods._flushall (); Console.WriteLine ("Called unmanaged code without permission. Whoops! ");} catch (SecurityException) {Console.WriteLine (" Caught SecurityException attempting to call unmanaged code. ");}} [SecurityPermission (SecurityAction.Assert, Flags = SecurityPermissionFlag.UnmanagedCode)] private static void CallUnmanagedCodeWithPermission () {try {Console.WriteLine (" Attempting to call unmanaged code with permission. ") NativeMethods.puts ("Hello World!"); NativeMethods._flushall (); Console.WriteLine ("Called unmanaged code with permission.");} catch (SecurityException) {Console.WriteLine ("Caught SecurityException attempting to call unmanaged code. Whoops! ");}} public static void Main () {SecurityPermission perm = new SecurityPermission (SecurityPermissionFlag.UnmanagedCode); perm.Assert (); CallUnmanagedCodeWithoutPermission (); perm.Deny (); CallUnmanagedCodeWithPermission ();}} using System;using System.Security;using System.Security.Permissions;using System.Runtime.InteropServices Class NativeMethods {[SuppressUnmanagedCodeSecurityAttribute ()] [DllImport ("msvcrt.dll")] internal static extern int puts (string str); [SuppressUnmanagedCodeSecurityAttribute ()] [DllImport ("msvcrt.dll")] internal static extern int _ flushall ();} class MainClass {[SecurityPermission (SecurityAction.Deny, Flags = SecurityPermissionFlag.UnmanagedCode)] private static void CallUnmanagedCodeWithoutPermission () {try {UIPermission uiPermission = new UIPermission (PermissionState.Unrestricted) UiPermission.Demand (); Console.WriteLine ("Attempting to call unmanaged code without UnmanagedCode permission."); NativeMethods.puts ("Hello World!"); NativeMethods._flushall (); Console.WriteLine ("Called unmanaged code without UnmanagedCode permission.");} catch (SecurityException) {Console.WriteLine ("Caught SecurityException attempting to call unmanaged code.") }} [SecurityPermission (SecurityAction.Assert, Flags = SecurityPermissionFlag.UnmanagedCode)] private static void CallUnmanagedCodeWithPermission () {try {Console.WriteLine ("Attempting to call unmanaged code with permission."); NativeMethods.puts ("Hello World!"); NativeMethods._flushall (); Console.WriteLine ("Called unmanaged code with permission.") } catch (SecurityException) {Console.WriteLine ("Caught SecurityException attempting to call unmanaged code. Whoops!);}} public static void Main () {SecurityPermission perm = new SecurityPermission (SecurityPermissionFlag.UnmanagedCode); perm.Assert (); CallUnmanagedCodeWithoutPermission (); perm.Deny (); CallUnmanagedCodeWithPermission ();}} so far, I believe you have a better understanding of "how C # modifies security permissions through permission classes and permission properties". You might as well do it in practice! Here is the website, more related content can enter the relevant channels to inquire, follow us, continue to learn!

Tags: Permissions security attributes clips content learning practicality deeper interest practicality practicality simplicity of operation methods more friends websites channels queries Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Tech Info Microsoft Xiaomi Shulou Information OPPO Reno