Coldfusion 迁移问题:调用自定义组件时发生身份验证错误

Coldfusion 迁移问题:调用自定义组件时发生身份验证错误,coldfusion,Coldfusion,我们正在从CF9迁移到CF11的过程中,在调用自定义组件时遇到错误。所有示例都在CF9中工作 apimacade.cfc是我们几年前创建的自定义文件。基本上,它创建一个管理对象,登录并创建一个运行时对象。然后调用clearTrustedCache方法: <cfset adminObj = createObject("component","cfide.adminapi.administrator")> <cfset adminObj.login("ADMINPW")>

我们正在从CF9迁移到CF11的过程中,在调用自定义组件时遇到错误。所有示例都在CF9中工作

apimacade.cfc
是我们几年前创建的自定义文件。基本上,它创建一个管理对象,登录并创建一个运行时对象。然后调用clearTrustedCache方法:

<cfset adminObj = createObject("component","cfide.adminapi.administrator")> 
<cfset adminObj.login("ADMINPW")> 
<cfset adminRuntime = createObject("component","cfide.adminapi.runtime")>    
<cfset adminRuntime.clearTrustedCache(workingFileList)> 

当我们为“文件”调用APIFacade.clearTrustedCache方法时:


返回以下CF错误:

runtime.cfc中发生错误:从调用第854行 E:/ColdFusion11/cfusion/wwwroot/CFIDE/adminapi/clearTrustedCache/apifacade.cfc: 第46行

当我们为“目录”调用相同的方法时:


我们收到类型为:

coldfusion.security.SecurityManager$UnauthenticatedCredentialsException

这两种调用似乎都指向身份验证问题,但我认为情况并非如此,因为我可以在apimacade.cfc中插入一个伪造的cfadmin密码,并且我从AccessManager.cfc中看到错误“当前用户无权调用此方法”。有人知道可能影响APIFacade.cfc的CF11错误吗?

从评论中提升,以提高可见性

我发现了一个与您类似的问题,解决方案是在登录方法中包含用户名和密码

比如说:

<cfset adminObj.login("ADMINPW","ADMINUSERNAME")>

请注意,参数的顺序与您可能期望的相反。密码在用户名之前


我想这可能是因为Adobe对较新版本的ColdFusion进行了安全增强。

apimacade.cfc是您创建的自定义文件还是来自第三方?谢谢您的回复!Apifacade.cfc是我们几年前创建的自定义文件。基本上,它会创建一个管理对象:。然后,它登录:。之后,它创建一个运行时对象:然后调用clearTrustedCache方法:您是否尝试向adminapi登录方法提供用户名和密码?看到这个答案-ColdFusion新版本的安全性更严格。谢谢Miguel-F。是的,我也尝试过:
我认为Miguel-F解决了这个问题,但直到服务器重新启动后问题才得到解决。
<cfinvoke component="clearcache.APIFacade" method="clearTrustedCache" returnvariable="clearCacheResults">
    <cfinvokeargument name="directory" value="DIRECTORYPATH">
    <cfinvokeargument name="recursedir" value="1">
</cfinvoke>
<cfset adminObj.login("ADMINPW","ADMINUSERNAME")>