Orchardcms Orchard CMS和Shibboleth认证

Orchardcms Orchard CMS和Shibboleth认证,orchardcms,shibboleth,Orchardcms,Shibboleth,我们正在考虑使用Orchard作为内部站点 我们目前使用初始身份验证,以http://domain/Shibboleth.sso/{stuff} 在我们当前的ASP.NET MVC网站中,我们只需使用以下内容修改Global.asax: routes.IgnoreRoute("Shibboleth.sso/{isapiInfo}/{isapiDetails}"); routes.IgnoreRoute("Shibboleth.sso/{*pathInfo}"); 不幸的是,Orchard不允许

我们正在考虑使用Orchard作为内部站点

我们目前使用初始身份验证,以
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仍然在抓取请求


有什么建议可以让乌节跳过这条路吗?

我最后做了两件事

首先,我使用未找到的MVC作为模板创建了一个新模块。特别是

我在system.web>httpModules中添加了以下内容:

<add name="InstallerModule" type="IgnoreShibboleth.InstallerModule, IgnoreShibboleth" />
最后一步我真的很接近了。我在system.webServer>处理程序下添加了以下内容,紧跟在
之后:


上一次在过去是不需要的,但对于Orchard正在做的事情来说似乎是必要的

routes.IgnoreRoute("Shibboleth.sso/{isapiInfo}/{isapiDetails}");
routes.IgnoreRoute("Shibboleth.sso/{*pathInfo}");
<add name="Shib" path="*.sso" verb="*" modules="IsapiModule" scriptProcessor="{path-to}\lib\shibboleth\isapi_shib.dll" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,bitness64" />