zoukankan      html  css  js  c++  java
  • 如何在代码中执行应用程序安全性检查(声明式和代码式)

    这是今天课堂上一个例子,讲解了如何通过代码方式和声明式的方式检查应用程序的安全性。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Security.Permissions;
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                AppDomain.CurrentDomain.SetPrincipalPolicy(System.Security.Principal.PrincipalPolicy.WindowsPrincipal);
    
    
                try
                {
                    SomeMethod();//通过声明式检查权限
                }
                catch
                {
                    Console.WriteLine("调用方法发生了错误");
                }
    
                SomeMethod2();//通过代码的方式检查权限
    
                Console.Read();
            }
    
    
            [PrincipalPermission(SecurityAction.Demand,Role="BUILTIN\\Administrators")]
            static void SomeMethod() {
                Console.WriteLine("该方法只有管理员才能运行");
            }
    
            static void SomeMethod2() {
                try
                {
                    //PrincipalPermission p = new PrincipalPermission("chenxizhang-pc\\chenxizhang", "BUILTIN\\Administrators");
    
                    PrincipalPermission p = new PrincipalPermission(null, "BUILTIN\\Administrators");
                   
    
                    p.Demand();
                    Console.WriteLine("该方法只有管理员才能运行,通过代码直接检查权限");
                }
                catch {
                    Console.WriteLine("调用方法发生了错误");
                }
            }
        }
    }
    
    image 
  • 相关阅读:
    网格形变
    网格简化
    无法打开包括文件: “QWidget”: No such file or directory
    遇到一个 bug svg 抖动的解决方案
    echarts-gl 遇到一个错误 groupGL 未定义
    鼠标操控三维视角
    鼠标控制3维操作 不知道能不能获得一些灵感
    tensorflow 安装
    Codeforces Round #541 (Div. 2) B.Draw!
    Codeforces Round #541 (Div. 2) A.Sea Battle
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1690584.html
Copyright © 2011-2022 走看看