科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件.NET 框架中的安全性概述 命名权限集

.NET 框架中的安全性概述 命名权限集

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

.NET 框架中的安全性概述 命名权限集

作者:Demien Watkins 2007年10月26日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

一个策略级别包含一个命名权限集列表。每个权限集代表一个信任声明,用于访问各种受保护的资源。命名权限集是代码组按其名称进行引用的权限集。如果满足了代码组的条件,则会授予被引用的命名权限集(请参阅上面的示例)。下面是一些预定义的命名权限集示例:

  • FullTrust 允许不受限制地访问系统资源。

  • SkipVerification 允许程序集跳过验证。

  • Execution 允许代码执行。

  • Nothing 不授予权限。不授予执行的权限可有效停止代码的运行。

  • Internet 适合来自 Internet 的代码的权限集。代码将不会收到对文件系统或注册表的访问权限,但可以执行一些有限的用户界面操作,并且可以使用称为独立存储的安全文件系统。

要查看策略级别的权限集,只需在附录 A 提及的 GUI 工具中打开策略级别节点,然后打开权限集文件夹即可。

下面是一个很小的示例程序,它列出了所有策略级别上所有已知的命名权限集:

下面的程序显示了所有策略级别上的命名权限集列表。该应用程序是一个从本地磁盘运行的 C# 程序,因此它会从默认的策略设置中收到一个相当强大的权限集。

using System;
using System.Collections;
using System.Security;
using System.Security.Policy;

namespace SecurityResolver
{
  class Sample
  {
    static void Main(string[] args)
    {
      IEnumerator i = SecurityManager.PolicyHierarchy();
      while(i.MoveNext())
      {
         PolicyLevel p = (PolicyLevel) i.Current;
         Console.WriteLine(p.Label);
         IEnumerator np = p.NamedPermissionSets.GetEnumerator();
         while (np.MoveNext()) 
         {
           NamedPermissionSet pset = (NamedPermissionSet)np.Current;
           Console.WriteLine("\tPermission Set: \n\t\t Name: {0}
                             \n\t\t Description {1}", 
                            pset.Name, pset.Description);
         }
       }
    }
  }
}

该程序的输出如下。为简洁和明确起见,已对该输出进行了编辑。

Enterprise
  Permission Set:
    Name: FullTrust
    Description: Allows full access to all resources
  Permission Set:
    Name: LocalIntranet
    Description: Default rights given to applications 
                 on your local intranet
  ...
Machine
  Permission Set:
    Name: Nothing
    Description: Denies all resources, including the right to execute
  ...
User
  ...
    Name: SkipVerification
    Description: Grants right to bypass the verification
  Permission Set:
    Name: Execution
    Description: Permits execution
  ...
查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章