【问题标题】:SecurityException - Dapper on shared hostingSecurityException - 共享主机上的 Dapper
【发布时间】:2012-06-02 13:30:26
【问题描述】:

对于我当前的项目,我使用 Dapper。一切都很完美。然后我需要将它部署在共享主机上。结果可以在这里看到(复制 YSOD):

描述:应用程序试图执行的操作不是 安全策略允许的。授予此申请 所需权限请联系您的系统管理员或更改 应用程序在配置文件中的信任级别。

异常详细信息:System.Security.SecurityException:请求 'System.Security.Permissions.ReflectionPermission 类型的权限, mscorlib,版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089' 失败。

堆栈跟踪

[SecurityException: 请求类型的权限 'System.Security.Permissions.ReflectionPermission, mscorlib, 版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089' 失败。] System.Security.CodeAccessSecurityEngine.Check(对象 需求, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission 上限、StackCrawlMark 和 stackMark)+31
System.Security.CodeAccessPermission.Demand() +46
System.Reflection.Emit.DynamicMethod.PerformSecurityCheck(类型所有者, StackCrawlMark 和 stackMark,布尔型 skipVisibility)+9461551
System.Reflection.Emit.DynamicMethod..ctor(字符串名称,类型 returnType, Type[] parameterTypes, Type owner, Boolean skipVisibility) +40 Dapperx.SqlMapper.CreateParamInfoGenerator(身份标识)+537 Dapperx.SqlMapper.GetCacheInfo(身份标识)+376 Dapperx.d__131.MoveNext() +644
System.Collections.Generic.List
1..ctor(IEnumerable1 collection) +327 System.Linq.Enumerable.ToList(IEnumerable1 源)+58
Dapperx.SqlMapper.Query(IDbConnection cnn, String sql, Object param, IDbTransaction 事务,布尔缓冲,Nullable1 commandTimeout, Nullable1 commandType) +199
...

有什么方法可以解决(在 .NET 4.0 中)? 据我所知,到目前为止,提供者必须允许 IIS 反射的某些部分,这可能对他们构成安全风险......

【问题讨论】:

  • 如果没有该许可,我看不到让“dapper”工作的方法:(
  • @MarcGravell 我发现“来自 GAC 的代码总是在完全信任的情况下运行”(msdn.microsoft.com/en-us/library/87x8e4d1),所以如果我说服他们将 Dapper 安装到 GAC,问题就消失了,对吗?除此之外..您可能会分发具有强名称的 Dapper。否则人们必须手动签名:)
  • 这当然值得一试......我很想听听进展如何
  • 他们说如果中等信任度太严格,那么我们可以订购他们的服务器托管 :( 尝试其他提供商..

标签: asp.net .net-4.0 shared-hosting dapper securityexception


【解决方案1】:

Dapper 使用的Reflection.Emit 在 Medium Trust 中是不允许的。

您应该找到提供完全信任的托管服务提供商。 discountasp.net 是我以前用过的。

【讨论】:

    猜你喜欢
    • 2013-11-04
    • 2011-04-20
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2011-08-13
    • 2011-06-15
    • 1970-01-01
    相关资源
    最近更新 更多