我要求 ASP.NET Web 应用程序使用 Shibboleth 进行身份验证。有没有人这样做过?是否有支持方法调用的库?或者这是Java唯一的事情?
3 回答
这绝对不是 Java 独有的东西,Shibboleth 网站上有一个 Apache 模块可供下载。
我不知道是否有任何特定于.NET 的东西。
不久前我们实现了 Shibboleth,我们最初尝试使用 Java 解决方案——这是一场噩梦。Java 应用程序写得不好,有缺陷,文档也很糟糕。麻烦又麻烦,我们最终决定在专用服务器上使用 Apache 模块,并将成功通过身份验证的用户转发到我们的 Tomcat 应用程序。Apache 模块的设置、配置和工作都很容易。
不知道您是否已经意识到,但是 Shib 文档和网站非常难以浏览 - 寻找任何有用信息是一场斗争。我确实去那里寻找.NET实现但放弃了!
如果我们的 Java 经验值得借鉴,我会认真建议您设置一个安装了 Shibboleth 模块的 Apache 服务器,从而为自己省去一个痛苦的世界。
这是一个测试您的 Shibboleth 安装的好站点,一旦您设置了它:http ://www.testshib.org/testshib-two/index.jsp
如果您确实找到了一个好的 .NET 解决方案,那么我很想知道它。祝你好运!
我知道这是一个非常古老的问题,但我认为我可以为那些从谷歌找到答案的人做一些更好的扩展。
正如上面所推荐的,你真的想配置你的 web 服务器来加载一个模块。shibboleth 最难的部分是配置文件,但假设您组织中的其他人使用了 shibboleth,您可以使用他们的作为模板,而且相当简单。
对于基于 .NET 的身份验证,您需要在 IIS 中配置 Shibboleth。IIS 的默认配置创建了一个名为 /secure 的目录,并且在该目录下的任何内容都需要 shibboleth 身份验证(即,它将重定向到身份提供者)。您可以将其配置为覆盖其他目录,甚至进行惰性身份验证。
一旦您拥有了身份验证部分,您就可以检查标头以“读取”身份提供者传递给您的信息。IIS 处理事情的方式与 Apache 略有不同,但它仍然很容易。如果您只想要用户名,则可以使用 HTTP_REMOTEUSER 尽管可能有更好的选择;即俄亥俄州立大学推荐使用 eduPersonPrincipalName。