CFdirectory标记不显示目录中的文件,即使这些文件出现在源文件夹中

CFdirectory标记不显示目录中的文件,即使这些文件出现在源文件夹中,directory,coldfusion,filenotfoundexception,directory-listing,cfdirectory,Directory,Coldfusion,Filenotfoundexception,Directory Listing,Cfdirectory,我正在尝试从共享位置文件夹读取电子表格。使用 <cfparam name="xlfilepath" type="string" default="\\file02\OP\!FILE STRUCTURES and FORMS\Agreements\Tracker.xls" /> <cfspreadsheet action="read" src="#xlfilepath#" excludeHeaderRow="true" query="MsaDataSheet1" sheet="1

我正在尝试从共享位置文件夹读取电子表格。使用

<cfparam name="xlfilepath" type="string" default="\\file02\OP\!FILE STRUCTURES and FORMS\Agreements\Tracker.xls" />
<cfspreadsheet action="read" src="#xlfilepath#" excludeHeaderRow="true" query="MsaDataSheet1" sheet="1" />
OP是共享文件夹

我得到了java.io.FileNotFoundException:。然后我尝试使用cfdirectory标记显示目录列表

<cfdirectory action="list" directory="\\file02\OP\" recurse="false" name="myList">
<cfdump var="#myList#"><cfabort>
我看到虽然OP目录中有子目录、文件夹和文件,但没有显示任何列表


文件夹是否需要任何特定权限才能被任何应用程序或任何其他所需的映射读取?

这里我将使用cf16进行解释。ColdFusion作为一项服务在Windows中运行,如果我们查看机器的所有服务,我们将发现如下所示:

在这里,您可以注意到,对于ColdFusion服务,LogOnAs值是LocalSyatem。这意味着ColdFusion服务是以LocalSystem登录名启动的,该登录名没有足够的权限在网络上执行任何操作。因此,为了在共享目录中执行所需的文件操作,我们必须更改ColdFusion服务的LogOnAs值。 请按照以下步骤启用它

右键单击ColdFusion服务,然后单击属性。 单击“登录”选项卡。然后你会看到这样一个屏幕 选择此帐户单选按钮。然后单击浏览按钮 并选择要启动服务的用户。你 应选择有足够权限创建文件的用户 在共享目录上,并且在本地具有所需的权限。 但是我们必须重新启动ColdFusion服务才能使更改生效


让我知道这是否对你有用。或者,如果我理解错误,请纠正我。

可以尝试使用recurse=true的cfdirectory action=list并查看文件是否显示在那里吗?ColdFusion应用程序没有足够的权限访问共享目录。但是,您登录到系统的用户有权访问共享目录。访问共享目录需要哪些权限?您只是在阅读电子表格,还是应用程序也会修改它?什么类型的文件系统?还有一个补充:我会创建一个特定的用户,它只能做他们需要做的事情,而不是让一个用户可以做任何他们想做的事情。授予管理员类型用户访问权限更容易,但如果该应用程序被破坏,该用户可能会被滥用来做各种坏事。限制暴露。100%照@Shawn说的做。凯南,考虑更新你的答案,以创建一个有限的访问CF用户。上面提到的SiggVistRink链接对于在Windows和Linux上创建CF特定用户有很好的演练。从这一点上,我们得到了CF11的完整STIG。这里面有一些很好的信息,可以用来锁定其他碎片。然后,这里总是有Pete Freitag的《封锁指南》的不同版本。