我们正在考虑将 Orchard 用于内部站点。
我们目前使用Shibboleth进行初始身份验证,它以 POST 格式返回我们的站点http://domain/Shibboleth.sso/{stuff}
在我们当前的 ASP.NET MVC 网站中,我们只需使用以下内容修改 Global.asax:
routes.IgnoreRoute("Shibboleth.sso/{isapiInfo}/{isapiDetails}");
routes.IgnoreRoute("Shibboleth.sso/{*pathInfo}");
不幸的是,Orchard 不允许我们走这条路,所以经过一些研究,它看起来需要添加一个处理程序。
通过 IIS (Server 2008 R2) 这被添加到处理程序组内的 web.config 中:
<add name="Shib" path="*.sso" verb="*" modules="IsapiFilterModule" scriptProcessor="C:\{path}\isapi_shib.dll" resourceType="Either" requireAccess="Script" preCondition="integratedMode" />
我已经尝试了几种不同的变体,但仍然没有骰子。
由于无论如何我都删除了源,我尝试采用简单的方法,即添加两个routes.IgnoreRoute
调用并重新构建,但这会导致相同的问题。
如果我删除 Shib 要求,那么 Orchard 就可以正常启动,并且如果我在一个新的 MVC 项目中使用 Shib(并添加了我们的两个 IgnoreRoute 调用),它也可以正常工作。
浏览器返回 404(空白页),所以我感觉 Orchard 仍在抓取请求。
关于如何让果园跳过这条路的任何建议?