任何人都可以请您尝试澄清我使用SAML进行单点登录的问题.
string rawSamlData = Request["SAMLResponse"];此代码获得身份提供者SAML响应吗?提前致谢.
滚动你自己的SAML确实是可能的,但它有点工作.我已经在.NET 4.5上完成了它,它支持验证断言,但我必须构建自己的saml协议处理.在VS2005上,你对框架的支持要少得多,但它仍然可行.
回答你的问题:
Request["SAMLResponse"]答:是的,应该包含来自idp的saml响应.
B. SAMLResponse将包含带有SAML响应的BASE64编码的xml.
C. SAML <Response>消息包含一个<assertion>节点,该节点是用户的数据.您必须自己创建一个.NET标识.然后,您可以使用表单身份验证cookie机制来保持用户登录.
D.不明白这个问题.
如果您可以升级到更好地支持SAML并声称内置身份验证的.NET 4.5,那应该会好得多.但是我认为我在Kentor.AuthServices中完成的代码可以向后移植到.NET 3.5.
我们编写了一个免费的开源模块,将SAML添加到ASP.NET应用程序中,我们专门针对.NET 4.0及更低版本(没有内置SAML,也没有内置的XML SHA256签名支持).https://github.com/jitbit/AspNetSaml
您仍然可以在.NET 4.5及更高版本中使用它,以避免来自.NET库(如System.Deployment等)的不必要的依赖.它只是您可以放入项目的一个简短的C#文件.
[免责声明]我是贡献者之一!