【问题标题】:'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed'System.Security.Permissions.SecurityPermission,mscorlib,版本 = 4.0.0.0,文化 = 中性,PublicKeyToken = b77a5c561934e089' 失败
【发布时间】:2015-09-09 23:39:59
【问题描述】:

我在主机上部署了我的 ASP.NET 项目,但失败了。我试图解决这个问题几个小时,但不能。 在我的第一页上,用户在单击登录按钮后输入电子邮件和密码,他们导航菜单。所有数据都存储在 mysql 数据库中。发布后我在 bin 文件夹中看不到 mysqldata.dll,所以我手动添加了。

请帮我解决这个问题。我应该在 2 天内部署。

在我尝试登录后显示此问题。

Server Error in '/' Application.

Security Exception

Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file. 

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

Source Error: 


[No relevant source lines]

Source File: App_Web_0twfxhxf.8.cs    Line: 0 

Stack Trace: 


[SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
   MySql.Data.MySqlClient.MySqlConnection.AssertPermissions() +0
   MySql.Data.MySqlClient.MySqlConnection.Open() +190
   gop.Default.loginbutton_Click(Object sender, EventArgs e) +216
   System.EventHandler.Invoke(Object sender, EventArgs e) +0
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9628722
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6704
   System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +245
   System.Web.UI.Page.ProcessRequest() +72
   System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
   System.Web.UI.Page.ProcessRequest(HttpContext context) +58
   ASP.default_aspx.ProcessRequest(HttpContext context) in App_Web_0twfxhxf.8.cs:0
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +341
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69

这是 web.config 文件;

<?xml version="1.0" encoding="utf-8"?>

<configuration>
  <appSettings>

    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />

    <add key="webpages:Version" value="2.0.0.0"/>
  </appSettings>

  <connectionStrings>
    <add name="MySqlConnectionString" connectionString="Server=xxx;Database=xxx;Uid=xxx;Pwd=xxx;charset=utf8;Integrated Security=false"
   providerName="MySql.Data.MySqlClient" />
  </connectionStrings>

  <system.web>

    <customErrors mode="Off" />
    <compilation targetFramework="4.0" debug="true"/>
    <httpRuntime targetFramework="4.0" />

  </system.web>

</configuration>

我尝试在 web.config 文件中添加&lt;trust level="Medium" /&gt;,但之后连第一页都无法显示并出现问题。

Server Error in '/' Application.

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: This configuration section cannot be used at this path.  This happens when the site administrator has locked access to this section using <location allowOverride="false"> from an inherited configuration file.

Source Error: 


An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Source File: D:\inetpub\xxx.com\www\web.config    Line: 24 

【问题讨论】:

  • 您的托管公司是否声称支持 MySql?问题是他们设置了他们的信任级别,因此安全性无法尝试打开连接。您可能需要联系他们的支持以寻找工作示例或切换到支持 MySql 的主机。
  • 是的,他们支持 MySql 并且他们的信任级别是中等的。我是 c# 和 asp.net 的新手,所以我的 web.config 文件是真的吗?有什么错误吗?
  • 您是否尝试设置 ?当您已经处于中等信任状态时,通常会发生这种错误。
  • 是的,我试过但没用。
  • @Onur,您需要检查您的 IIS 上的主站点,也许您的网站位于信任级别低的根网站内。 help.webcontrolcenter.com/kb/a1110/…

标签: c# mysql asp.net security mysql-error-1064


【解决方案1】:

尝试放入您的 Web.config:

<system.web>
..
<trust level="Full" originUrl="" />
..
</system.web>

【讨论】:

    【解决方案2】:

    试试这个。 放入您的 Web.config。

    <system.web>
     <securityPolicy>
       <trustLevel name="Full" policyFile="internal"/>
     </securityPolicy>
    </system.web>
    

    关于mysqldata.dll,进入参考,点击mysqldata.dll,右键,属性,查看Copy Local是否设置为true。

    希望对你有帮助。

    【讨论】:

    • 我已经放了但是没用。又是同样的问题。如果我为完全信任级别支付更多费用我的主机将支持完全信任级别。但我不确定在设置完全信任级别后它会好起来。我认为我的 web.config 文件似乎很糟糕。我用过itextsharp,mysql,但没有任何权限。 web.config中是否有任何错误?如果我设置我的主机完全信任级别,它会起作用吗?
    【解决方案3】:

    首先,你必须在这个路径打开 web.config 文件:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config
    其次,您必须在
    system.web
    trust level="Medium" originUrl=""
    部分下找到这一行 最后:你必须像这样改变它:
    trust level="Full" originUrl=""

    如果您愿意进行此更改,您可以解决您的安全问题..

    【讨论】:

    • 我们如何在 godaday 服务器上做到这一点?
    【解决方案4】:

    解决方案

    我已经和我的托管公司谈过了,他们在我设置了我的应用程序框架 v3.5 之后设置了TRUST LEVEL FULL

    我是怎么做到的?

    右键单击项目-属性-从左侧栏中选择应用程序-选择目标框架 3.5。在这些发布和部署之后。

    我的 web.config 看起来像这样;

    <?xml version="1.0"?>
    
    <configuration>
      <configSections>
        <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
          <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
            <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
              <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
              <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
              <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
              <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
            </sectionGroup>
          </sectionGroup>
        </sectionGroup>
      </configSections>
      <appSettings>
        <add key="webpages:Version" value="2.0.0.0"/>
      </appSettings>
      <connectionStrings>
        <add name="connstrname" connectionString="server=xxx;database=xxx;uid=xxx;password=xxx;"/>
      </connectionStrings>
      <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true">
          <assemblies>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
          </assemblies>
        </compilation>
        <httpRuntime/>
        <pages>
          <controls>
            <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          </controls>
        </pages>
        <httpHandlers>
          <remove verb="*" path="*.asmx"/>
          <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        </httpHandlers>
        <httpModules>
          <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        </httpModules>
      </system.web>
      <system.codedom>
          <compilers>
            <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
              <providerOption name="CompilerVersion" value="v3.5"/>
              <providerOption name="WarnAsError" value="false"/>
          </compiler>
        </compilers>
      </system.codedom>
      <system.webServer>
          <validation validateIntegratedModeConfiguration="false"/>
        <modules>
          <remove name="ScriptModule"/>
          <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        </modules>
        <handlers>
          <remove name="WebServiceHandlerFactory-Integrated"/>
          <remove name="ScriptHandlerFactory"/>
          <remove name="ScriptHandlerFactoryAppServices"/>
          <remove name="ScriptResource"/>
          <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        </handlers>
      </system.webServer>
      <runtime>
        <assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
            <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
            <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-14
      • 1970-01-01
      • 2013-07-12
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 2015-04-01
      • 2017-03-07
      相关资源
      最近更新 更多