【问题标题】:Security issue with FullTrustFullTrust 的安全问题
【发布时间】:2009-10-29 13:16:20
【问题描述】:

我在网络共享上有一个 .NET2.0 程序集供所有人访问。我已经在每个人的机器上为 LocalIntranetZone 启用了 FullTrust。

但是,在某些机器上(不是所有的……那是让我抓狂的部分)应用程序崩溃了。我得到的错误如下。

在这一点上我完全被难住了。任何想法将不胜感激。

Unhandled Exception: System.Security.SecurityException: Request failed.
   at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly asm, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
   at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Object assemblyOrString, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
   at System.Security.CodeAccessSecurityEngine.CheckSetHelper(PermissionSet grants, PermissionSet refused, PermissionSet demands, RuntimeMethodHandle rmh, Object assemblyOrString, SecurityAction action, Boolean throwException)
   at System.Security.CodeAccessSecurityEngine.CheckSetHelper(CompressedStack cs, PermissionSet grants, PermissionSet refused, PermissionSet demands, RuntimeMethodHandle rmh, Assembly asm, SecurityAction action)
   at LoginRunner.Program.Main(String[] args)
The action that failed was:
LinkDemand
The type of the first permission that failed was:
System.Security.PermissionSet
The demand was for:
<PermissionSet class="System.Security.PermissionSet"
version="1"
Unrestricted="true"/>

The granted set of the failing assembly was:
<PermissionSet class="System.Security.PermissionSet"
version="1">
<IPermission class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Access="Open"/>
<IPermission class="System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Allowed="ApplicationIsolationByUser"
UserQuota="512000"/>
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Execution"/>
<IPermission class="System.Security.Permissions.UIPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Window="SafeTopLevelWindows"
Clipboard="OwnClipboard"/>
<IPermission class="System.Security.Permissions.UrlIdentityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Url="file://xxx.xxx.xxx.xxx/data/Programs/Public/Misc/SomeApp.exe"/>
<IPermission class="System.Security.Permissions.ZoneIdentityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Zone="Internet"/>
<IPermission class="System.Drawing.Printing.PrintingPermission, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
version="1"
Level="SafePrinting"/>
</PermissionSet>

The assembly or AppDomain that failed was:
Calrunr, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null
The Zone of the assembly that failed was:
Internet
The Url of the assembly that failed was:
file://xxx.xxx.xxx.xxx/data/Programs/Public/Misc/SomeApp.exe

【问题讨论】:

  • 发布后,我看到该区域是 Internet 而不是 INTRAnet...我不想为 INTERNET 打开完全信任...那会很糟糕。从“internet”调整什么是“intranet”?

标签: c# security full-trust


【解决方案1】:

问题在于失败的区域不是您的 LocalIntranetZone,它是 Internet 区域,出于某种原因。

失败的装配区 是:互联网

如果它只发生在某些计算机上,我会检查您的网络拓扑,因为听起来您的某些计算机在运行您的应用程序时试图访问您的 Intranet 之外。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 2012-07-01
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多