Kentico 对JS文件的引用提示登录
我想引用页面模板底部的javascript文件 我在cmssitemanager/development/javascript文件下添加了.js文件,然后将以下内容添加到主模板(门户引擎):Kentico 对JS文件的引用提示登录,kentico,Kentico,我想引用页面模板底部的javascript文件 我在cmssitemanager/development/javascript文件下添加了.js文件,然后将以下内容添加到主模板(门户引擎): 当我在任何浏览器中打开页面时,文件中的javascript都不会执行 当尝试在domain.com/CMSScripts/Custom/FOO/BAR.js的浏览器中直接访问该文件时,我会被重定向到Kentico登录页面 我不知道如何/在何处为CMSScripts目录指定安全性,但用户不必登录即可访问此
当我在任何浏览器中打开页面时,文件中的javascript都不会执行
当尝试在domain.com/CMSScripts/Custom/FOO/BAR.js的浏览器中直接访问该文件时,我会被重定向到Kentico登录页面
我不知道如何/在何处为CMSScripts目录指定安全性,但用户不必登录即可访问此文件
有什么建议吗
使用第一个答案的信息更新:
我们当前未使用Windows身份验证,我已验证应用程序池用户帐户是否具有文件系统权限。我还验证了应用程序可以使用cmssitemanager>administration>system>files>“test files”
实用程序添加/删除/修改文件,该实用程序产生了创建/删除/修改文件夹和文件的OK
状态
我确实在cmssitemanager>settings>system>files>security
中签入了Check files权限。取消选中此选项不会更改行为,包括在重新启动应用程序和windows服务之后
该站点有效且具有正确的许可证,但未定义域别名。我添加了一个,但是这并没有改变行为
我们尚未对web.config
save for connection string信息进行任何更改。如果您是在web.config中的CMSUseTrailingSlashOnlyForExtensionLess
上引用的,则之前未在其中提及,但添加它不会改变任何内容。为此,我没有看到该网站试图重定向到domain.com/CMSScripts/Custom/FOO/BAR.js/
,因此我真的认为它与某种无序的安全ACL有关
查尔斯
这是一种奇怪的行为,它通常不会这样做
您是否正在进行windows身份验证?您可能在哪里删除了对网站文件夹中目录的匿名访问(在IIS中)
您是否将“检查文件”权限作为Kentico网站设置打开?(尽管我很确定这不会影响对JS模块中JavaScript文件的请求)
它是否是一个有效的站点(在CMSSiteManager中启用并运行)和域名,并且具有正确的许可证和别名
对web.config文件的任何自定义修改可能会更改HttpHandler或模块吗?您是否在web.config中运行正确的无扩展URL设置
以下是用户FroggEye
在论坛帖子上针对同一问题提供的解决方案:
最好使用下面的语法。Kentico会对所有目录进行URL处理,除非排除在外,您必须将CMSScripts目录排除在处理之外,这并不难,但下面的代码是一个更好的解决方案
这将做两件事:
为您提供一个调用资源的标准位置(您也可以在此处获取样式表)
允许您使用内置的最小化功能
感谢您的反馈,我编辑了这个问题以解决您的问题(作为问题的一部分比夹在评论中更具可读性)。这对我来说很有效,但我觉得需要它很奇怪。我在其他环境中运行同一个站点,并且在脚本标记中对自定义脚本的相对引用工作得很好。在本地运行时,我必须使用上面的“/CMSPages/GetResource.ashx?scriptfile=”方法。我尝试了应用程序池的不同权限组合,但没有帮助。
<script src="/CMSScripts/Custom/FOO/BAR.js"></script>