首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC3 + EF4 + MySQL System.Security.SecurityException:请求失败

MVC3 + EF4 + MySQL System.Security.SecurityException:请求失败
EN

Stack Overflow用户
提问于 2011-12-23 12:18:06
回答 3查看 956关注 0票数 2

我正在开发一个ASP.NET MVC3 web应用程序,它使用实体框架4.1和MySQL。

在本地所有操作都很好,但是当我将解决方案部署到web主机时,它会给出以下错误消息:

System.Security.SecurityException:请求失败。在System.Security.CodeAccessSecurityEngine.ThrowSecurityException(RuntimeAssembly asm,PermissionSet授予,PermissionSet拒绝,RuntimeMethodHandleInternal rmh,SecurityAction操作,对象需求,IPermission permThatFailed) at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Object assemblyOrString,PermissionSet IPermission permThatFailed,PermissionSet assemblyOrString,RuntimeMethodHandleInternal rmh,SecurityAction action,Object demand,IPermission permThatFailed)在System.Security.CodeAccessSecurityEngine.CheckSetHelper(PermissionSet赠款中,SecurityAction refused,PermissionSet rmh,Object,action,Boolean at en23#,PermissionSet&,( System.Security.PermissionListSet.CheckSetDemand(PermissionSet pset ),System.Security.PermissionListSet.DemandFlagsOrGrantSet(Int32标志( RuntimeMethodHandleInternal rmh),System.Security.CodeAccessSecurityEngine.ReflectionTargetDemandHelper(Int32许可( PermissionSet grantSet),System.Security.CodeAccessSecurityEngine.ReflectionTargetDemandHelper(Int32许可( PermissionSet targetGrant,CompressedStack securityContext) ( PermissionSet targetGrant) )失败的操作是:要求第一个失败权限的类型为: System.Security.PermissionSet

我的Web.Config:

代码语言:javascript
复制
<connectionStrings>
    <add name="MySqlMembershipConnection" connectionString="Data Source=localhost;userid=userName;password=passw0rd;database=tv;" providerName="MySql.Data.MySqlClient,Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
    <add name="TvEntities" connectionString="metadata=res://*/Entities.Model.csdl|res://*/Entities.Model.ssdl|res://*/Entities.Model.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=127.0.0.1;port=3351;User Id=userName;password=passw0rd;Persist Security Info=True;database=tv&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

<system.data>
    <DbProviderFactories>
        <clear />
        <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL"
        type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data,Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
</system.data>

信任级别处于中等水平。

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-27 15:38:14

你总是可以完全信任地切换到另一个主机提供商吗?

票数 2
EN

Stack Overflow用户

发布于 2011-12-23 12:41:28

尝试使用新版本的连接器。它是报告为臭虫,应该在6.3.7和6.4.1中固定。

票数 2
EN

Stack Overflow用户

发布于 2011-12-28 07:28:19

添加对System.Web.Providers的引用。如果程序集在本地不可用,请使用NuGet包管理器安装它,如下所示:

代码语言:javascript
复制
PM> Install-Package System.Web.Providers

还请在web.config文件中验证以下条目是否已添加到配置文件部分

代码语言:javascript
复制
<roleManager defaultProvider="DefaultRoleProvider">
    <providers>
        <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider,            
                   System.Web.Providers, Version=1.0.0.0, Culture=neutral,  
                   PublicKeyToken=31bf3856ad364e35"   
                   connectionStringName="DefaultConnection" applicationName="/" />
    </providers>
</roleManager>

然后您可以重新构建应用程序并执行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8615986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档