2

安装CaptchaMVC后,我导航到要测试功能的页面 - ~/about。

对于图像localhost:51860/DefaultCaptcha/Generate?t=6d9ab0cefbb8496582b1db592eff66f,我看到一个断开的链接。

我添加routes.IgnoreRoute("DefaultCaptcha/{*pathInfo}");并尝试routes.IgnoreRoute("DefaultCaptcha/Generate");到我的路线顶部,但图像仍然没有出现,并且导航到图像 url 返回 404 not found 错误。

当我从 Global.asax 中删除我的所有路线时,这工作正常。

我认为的问题是这种模式与这条路线相匹配:

routes.MapRoute(name: "WholeCountryCategoryResults1", url: "{categoryName}/{searchTerm}/", defaults: new { controller = "Results", action = "SearchWholeCountryCategory" });

其余的路线应该不重要,因为规则是按顺序执行的,那么这里有什么问题呢?

谢谢。

4

2 回答 2

5

对于那些可能遇到相同问题的人,只需设置一条到验证码提供者的控制器和操作的路由:

routes.MapRoute(name: "DefaultCaptchaRoute", url: "DefaultCaptcha/Generate", defaults: new { controller = "DefaultCaptcha", action = "Generate" });
于 2012-08-02T19:01:17.877 回答
1

这对我有用。将此添加到 web.config

 <location path="DefaultCaptcha/Generate">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>
于 2015-09-09T20:47:52.457 回答