【问题标题】:Security Exception on asp .NET framework 4 using MySql, trust level: Medium使用 MySql 的 asp .NET 框架 4 上的安全异常,信任级别:中
【发布时间】:2012-05-26 11:23:43
【问题描述】:

我使用 VS 2010 MVC3,我设置了 web.config 以连接到我的远程数据库。当我调试它的运行正常时,注册,登录正常。但是当我将它上传到主机时,我得到了这个错误:

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

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

来源错误:

在执行过程中产生了一个未处理的异常 当前的网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。

堆栈跟踪:

[SecurityException: 请求类型的权限 'System.Security.Permissions.SecurityPermission, mscorlib, 版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089' 失败。]
MySql.Data.MySqlClient.MySqlConnectionStringBuilder.CreatePermissionSet() +0 MySql.Data.MySqlClient.MySqlConnectionStringBuilder.DemandPermissions() +38 MySql.Data.MySqlClient.MySqlConnection.PermissionDemand() +94 MySql.Data.MySqlClient.MySqlConnection.Open() +196
MySql.Web.Common.SchemaManager.GetSchemaVersion(字符串 连接字符串)+65
MySql.Web.Common.SchemaManager.CheckSchema(字符串连接字符串, NameValueCollection 配置)+39
MySql.Web.Security.MySQLRoleProvider.Initialize(字符串名称, NameValueCollection 配置)+462
System.Web.Configuration.ProvidersHelper.InstantiateProvider(ProviderSettings providerSettings, Type providerType) +419

我正在使用 MySQL Connector Net 6.5.4

【问题讨论】:

标签: mysql asp.net-mvc-3


【解决方案1】:

这是很多人遇到的常见问题。那是因为您以完全信任级别构建网站。这允许您通过 IIS 完成几乎所有操作。但是许多托管公司只允许中等信任级别。所以您需要在中等信任级别下重新编码项目的必要部分。

打开;

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config

文件夹并打开webconfig文件,换行;

<trust level="Full" originUrl="" />

<trust level="Medium" originUrl="" />

老实说,我对进一步的步骤和您的程序集没有深入的了解。所以我可以提供很多帮助。

【讨论】:

    【解决方案2】:

    我的朋友也有同样的问题。他在 MySql 连接字符串中添加了以下设置:

    includesecurityasserts=true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-03
      • 1970-01-01
      • 2010-09-15
      • 2011-06-05
      相关资源
      最近更新 更多