如果未向用户授予对根共享的访问权限,则从网络共享运行 .net exe 在部分信任环境中运行
本文关键字:运行 共享 net 网络 exe 环境 信任 权限 用户 如果 访问权 | 更新日期: 2023-09-27 18:33:03
我有一个情况,即存在公共共享网络路径,例如">''10.x.x.x''CommonShare"。只有管理员才具有此路径的权限。
现在,在公共共享中,我们创建了特定于用户的文件夹,该特定用户将在其中具有完全访问权限。像用户XYZ一样,在''10.x.x.x''CommonShare''XYZ上具有完全访问权限
现在,用户XYZ登录到他自己的盒子中,然后从那里运行一个可执行文件,该可执行文件可在共享文件夹''10.x.x.x''CommonShare''XYZ''testApp中使用.exe
已将其配置为可在配置中从网络共享访问,如下所示:
''10.x.x.x''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,但这个问题仍然存在。
谢谢。
联系了Microsoft并得到了一些解决方法。
尝试构造套接字或 TCP 客户端失败
行为改变是设计使然。要解决此问题,需要在客户端计算机中添加注册表项,如下所示。
HKEY_LOCAL_MACHINE''SYSTEM''CurrentControlSet''services''FltMgr
添加此条目名称: 使用波浪号快捷方式(DWORD(数据:1
另一种解决方法是使共享名称以及路径中的所有文件夹名称至少为 8 个字符。此处在另一个 Microsoft KB 中提供了一些讨论。
如果可执行文件位于 NFS 共享上,则基于 Winsock 的操作在 Windows 7 或 Windows Server 2008 R2 中失败。