7

在我们的一个 Intranet 页面上,我cffileupload用来上传多张照片:

<cffileupload extensionfilter=".jpg,.jpeg,.png,.gif"
              url="/submissions/photo_gallery.cfm"
              onerror="errorissue" 
              width="600" 
              addbuttonlabel="Browse..." 
              maxuploadsize="100">

此标记的 url 指向我处理图像的同一页面:

<!--- Define the upload path --->
<cfset upload_path = "C:\websites\images\photo_gallery\">

<!--- Upload all the files --->
<cffile action="upload" 
        destination="#upload_path#" 
        nameconflict="makeunique" 
        result="uploaded_file">

在 IE 和 Chrome 中,这是可行的。在 Firefox 中,我收到 401 错误。它似乎与浏览器的身份验证方式有关。IE 和 Chrome 使用 Windows 身份验证,而 Firefox 在进入站点时提示输入用户名/密码。Coldfusion 日志中没有显示任何内容,但 IIS 日志显示了这一点(IP x'd):

2013-05-09 19:16:07 xxx.xxx.xxx.xxx POST /submissions/photo_gallery.cfm CFID=5546&CFTOKEN=75080018 80 - 172.28.30.99 Shockwave+Flash 401 2 5 0

日志中的上一行来自加载页面。如您所见,我的用户名显示在这一行中(为安全起见进行了编辑):

2013-05-09 19:16:07 xxx.xxx.xxx.xxx GET /includes/js/shared.js - 80 DOMAIN\username xxx.xxx.xxx.xxx Mozilla/5.0+(Windows+NT+6.1;+ WOW64;+rv:20.0)+壁虎/20100101+火狐/20.0 304 0 0 218

所以,cffileupload 似乎丢失了我的用户名。但是,cffileupload url 中的 session.urltoken 与具有多个文件上传器的页面(调用页面)中的相同。所以,你会认为身份验证会坚持下去。

此外,当我进入 IIS7 并在 Jakarta 虚拟目录上启用匿名身份验证(并在同一位置禁用 Windows 身份验证)时,我可以让它在 Firefox 中工作。但是,这不是一个可用的解决方案。

任何人都可以提出另一种解决方案吗?

4

2 回答 2

1

您是否尝试过仅为 /submissions 文件夹启用“匿名身份验证”?

这里

于 2013-05-21T13:54:18.473 回答
1

您也可以告诉 Firefox 使用 Windows 身份验证。默认情况下不启用(参考)。

  1. 打开火狐
  2. 在地址栏中输入:“about:config”
  3. Firefox3.x 及更高版本要求您同意谨慎行事。
  4. 配置页面加载后,在过滤器框中输入:“network.automatic”
  5. network.automatic-ntlm-auth.trusted-uris通过双击行并输入进行修改http://www.replacewithyoursite.comhttp://your-intranet-server-name
    多个站点可以通过逗号分隔来添加,例如http://www.replacewithyoursite.com, http://www.replacewithyourintranetsite.com

指定所有子域使用.replacewithyoursite.com而不是www.replacewithyoursite.com, help.replacewithyoursite.com, pictures.replacewithyoursite.com


如果你的内网没有使用全限定域名可以在火狐中设置如下避免提示(参考

  1. 转到“关于:配置”
  2. 将键过滤为“network.automatic”
  3. 将值编辑network.automatic-ntlm-auth.allow-non-fqdntrue 在此处输入图像描述
于 2013-05-14T16:09:42.790 回答