我正在使用“ Web Forms for Marketers 2.5 rev.141014 ”,而创建表单我正在使用 Captcha字段,但验证码图片未在前端渲染。
我做错了什么?
答案 0 :(得分:3)
您是否按照安装后步骤中的要求修改了Web.config?
- 将以下节点添加到Web.config:
醇>
- 用于配置\ system.web \ httpHandlers节点下的IIS 6.x
- 用于IIS 7.x及以上配置\ system.webServer \ handlers节点
如果你这样做,那么你是否同时使用WFFM和WeBlog模块?
问题是WeBlog使用preprocessRequest sitecore管道来解析CaptchaImage。此管道没有准备好会话,因此WFFM验证码(默认情况下会在会话中存储数据)在这样的设置中不起作用。
解决方案只是删除
<preprocessRequest>
<processor patch:before="*[1]" type="Sitecore.Modules.WeBlog.Pipelines.CaptchaProcessor,Sitecore.Modules.WeBlog"/>
</preprocessRequest>
来自WeBlog.config文件的。
答案 1 :(得分:3)
发现Jonathan Robbins撰写的这篇文章Web Forms for Marketers Captcha not displaying解决了我的问题
事实证明,在安装或更新此版本的Web窗体时,需要将其他配置添加到web.config中。
如果您的站点在II7上运行且管理管道模式设置为集成,您将需要在web.config配置/ system.webServer / handers
中的以下位置底部添加这些配置节点<add name="CaptchaImage" verb="*" path="CaptchaImage.axd" type="Sitecore.Form.Core.Pipeline.RequestProcessor.CaptchaResolver, Sitecore.Forms.Core" />
<add name="CaptchaAudio" verb="*" path="CaptchaAudio.axd" type="Sitecore.Form.Core.Pipeline.RequestProcessor.CaptchaResolver, Sitecore.Forms.Core" />
如果您的站点在IIS6上运行或者应用程序池的托管管道是Classic,则需要将这两个节点添加到web.config配置/ system.webServer / httpHanders中的以下路径
<add name="CaptchaImage" verb="*" path="CaptchaImage.axd" type="Sitecore.Form.Core.Pipeline.RequestProcessor.CaptchaResolver, Sitecore.Forms.Core" />
<add name="CaptchaAudio" verb="*" path="CaptchaAudio.axd" type="Sitecore.Form.Core.Pipeline.RequestProcessor.CaptchaResolver, Sitecore.Forms.Core" />
答案 2 :(得分:2)
感谢您的建议,但问题与dll冲突有关。当我第一次安装WFFM模块(包含Captcha dll)然后安装WeBlog模块(也包含Captcha dll)后,dll被覆盖了。因此,尝试assembly redirect解决了这个问题。再次感谢您的贡献。
答案 3 :(得分:1)
如果您使用的是MVC,则可能是Microsoft Captcha控件存在问题。 Sitecore发布了一个修补程序,您可以通过http://support.sitecore.net
联系支持人员获取该修补程序