0

我有一个常见的共享网络路径的情况,比如说“ \10.xxx\CommonShare ”。只有管​​理员拥有此路径的权限。

现在在commonshare中,我们创建特定用户的文件夹,该特定用户将拥有完全访问权限。就像用户XYZ将拥有对\10.xxx\CommonShare\XYZ的完全访问权限

现在用户 XYZ 在他自己的框中登录并从那里运行一个可执行文件,该可执行文件在共享文件夹\10.xxx\CommonShare\XYZ\testApp.exe 中可用

已将其配置为可通过配置中的网络共享访问,如下所示:

\10.xxx\CommonShare\XYZ\testApp.exe.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>

  </startup>
  <runtime>
    <!--<NetFx40_LegacySecurityPolicy enabled="true"></NetFx40_LegacySecurityPolicy>-->
    <loadFromRemoteSources enabled="true"/>
  </runtime>
</configuration>

虽然 exe 运行但在调用 System.Net.IwebProxy 时失败。

但是,当为用户添加对根共享路径的只读访问权限时,所有这些都可以正常工作。但不幸的是,这不是客户愿意做的事情。

如果有人遇到类似问题,请分享。如何从网络共享 .net exe(目标框架 4.0 客户端配置文件)可以在给定场景中以完全信任的方式运行。我尝试使用 CASPOL,但这个问题仍然存在。

谢谢。

4

1 回答 1

1

为此联系了微软并得到了一些解决方法。

尝试构造 Socket 或 TCP 客户端失败

行为改变是设计使然。要解决此问题,需要在客户端计算机中添加注册表项,如下所示。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FltMgr

添加此条目名称:UseTildeShortcut(DWORD) 数据:1

另一种解决方法是让共享名称以及路径中的所有文件夹名称至少包含 8 个字符。此处的另一个 Microsoft-KB 中提供了一些讨论。

如果可执行文件位于 NFS 共享上,则基于 Winsock 的操作在 Windows 7 或 Windows Server 2008 R2 中失败

于 2016-03-03T13:56:49.077 回答