【问题标题】:What Reflection Permission are allowed in Medium Trust?中等信任允许哪些反射权限?
【发布时间】:2011-06-07 02:38:22
【问题描述】:

我想问一下 Medium Trust 允许哪些方法/类。 例如, 是否允许这些方法?

获取属性, 获取方法, Activator.CreateInstance, 组装版本, 程序集名称.名称

请告诉我哪些方法是允许的。

【问题讨论】:

    标签: c# asp.net security medium-trust


    【解决方案1】:

    GetMethods 和 Activator.CreateInstance 应该允许 IIRC,而 AssemblyName 和 Assembly.Version 不允许。我在中信任环境中使用了前两种方法,后两种方法不起作用。 最好的方法就是通过反复试验。当您遇到困难时,也可以通过使用 Reflector 来找出 为什么 的东西是不允许的(通常是 [PrincipalPermission(SecurityAction.Demand, AspNetHostingPermission.High/Full)] 属性在某个更高的类上调用堆栈)。

    HTH,

    本杰明

    【讨论】:

    • 我觉得这很令人沮丧,因为我们无法知道哪些方法可用,哪些方法不可用?
    【解决方案2】:

    permview(仅限.NET 1.1)或permcalc(.NET 2.0)等工具可以帮助您了解您的程序集或程序集需要的安全权限要求;这比进行试错分析要容易一些,因为您可能会忘记手动执行尝试执行与安全相关的需求的代码路径。

    不幸的是,MSDN 文档没有明确列出每个方法或属性调用的安全要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-26
      • 2019-04-23
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-03
      相关资源
      最近更新 更多