验证码图像未呈现为营销人员的 sitecore 网络表单
Captcha image is not rendering in sitecore web form for marketers
我正在使用“Web Forms for Marketers 2.5 rev. 141014”,而正在创建一个表单我正在参加验证码字段,但验证码图像未在前端呈现。
我做错了什么??
如果您使用的是 MVC,则 Microsoft Captcha 控件可能存在问题。 Sitecore 发布了一个修补程序,您可以通过 http://support.sitecore.net
联系支持人员获取该修补程序
您是否按照 post 安装步骤中的要求修改了 Web.config?
- Add the following nodes to the Web.config:
- for IIS 6.x under the configuration\system.web\httpHandlers node
- for IIS 7.x and up under the configuration\system.webServer\handlers node
如果你这样做了,你会同时使用 WFFM 和 WeBlog 模块吗?
问题是 WeBlog 使用 preprocessRequest sitecore 管道来解析 CaptchaImage。此管道没有准备会话,因此 WFFM 验证码(默认情况下将数据存储在会话中)在这样的设置中将不起作用。
解决方案只是删除
<preprocessRequest>
<processor patch:before="*[1]" type="Sitecore.Modules.WeBlog.Pipelines.CaptchaProcessor,Sitecore.Modules.WeBlog"/>
</preprocessRequest>
来自 WeBlog.config 文件。
发现 Jonathan Robbins 的这篇文章 Web Forms for Marketers Captcha not displaying 解决了我的问题
事实证明,在安装或更新此版本的 Web Forms 时,web.config 需要添加额外的配置。
如果您的网站是 运行 II7 并且管理管道模式设置为集成,您将需要在 web.config [=21] 中以下位置的底部添加这些配置节点=].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 上,或者您的应用程序池的托管管道是经典的,则需要将这两个节点添加到 web.config configuration/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" />
感谢您的建议,但问题出在dll冲突上。当我第一次安装 WFFM 模块(其中包含 Captcha dll)然后安装 WeBlog 模块(其中也包含 Captcha dll)时,dll 被覆盖了。所以尝试 assembly redirect 解决了这个问题。再次感谢您的贡献。
我正在使用“Web Forms for Marketers 2.5 rev. 141014”,而正在创建一个表单我正在参加验证码字段,但验证码图像未在前端呈现。
我做错了什么??
如果您使用的是 MVC,则 Microsoft Captcha 控件可能存在问题。 Sitecore 发布了一个修补程序,您可以通过 http://support.sitecore.net
联系支持人员获取该修补程序您是否按照 post 安装步骤中的要求修改了 Web.config?
- Add the following nodes to the Web.config:
- for IIS 6.x under the configuration\system.web\httpHandlers node
- for IIS 7.x and up under the configuration\system.webServer\handlers node
如果你这样做了,你会同时使用 WFFM 和 WeBlog 模块吗?
问题是 WeBlog 使用 preprocessRequest sitecore 管道来解析 CaptchaImage。此管道没有准备会话,因此 WFFM 验证码(默认情况下将数据存储在会话中)在这样的设置中将不起作用。
解决方案只是删除
<preprocessRequest>
<processor patch:before="*[1]" type="Sitecore.Modules.WeBlog.Pipelines.CaptchaProcessor,Sitecore.Modules.WeBlog"/>
</preprocessRequest>
来自 WeBlog.config 文件。
发现 Jonathan Robbins 的这篇文章 Web Forms for Marketers Captcha not displaying 解决了我的问题
事实证明,在安装或更新此版本的 Web Forms 时,web.config 需要添加额外的配置。
如果您的网站是 运行 II7 并且管理管道模式设置为集成,您将需要在 web.config [=21] 中以下位置的底部添加这些配置节点=].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 上,或者您的应用程序池的托管管道是经典的,则需要将这两个节点添加到 web.config configuration/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" />
感谢您的建议,但问题出在dll冲突上。当我第一次安装 WFFM 模块(其中包含 Captcha dll)然后安装 WeBlog 模块(其中也包含 Captcha dll)时,dll 被覆盖了。所以尝试 assembly redirect 解决了这个问题。再次感谢您的贡献。