Orchardcms Orchard CMS和Shibboleth认证
我们正在考虑使用Orchard作为内部站点 我们目前使用初始身份验证,以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不允许
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" />