C# 使用SAML和AJAX进行单点登录
我们正在基于.NET中的SAML消息实现单点登录(身份提供者端)。当用户想要使用某些服务时,他会被重定向到我们这边,并显示SAML请求消息。SAML消息在页面加载时接收并存储在全局变量中。我们在applet中显示他,该applet在浏览器(客户端)中读取他的智能卡,然后这些数据(只有一个字符串)由AJAX发送到服务器端,我们在服务器端处理数据并进行一些验证检查,然后将SAML响应返回给服务提供商 问题-该场景不起作用,SAML响应消息未发送,用户未登录 有用信息:C# 使用SAML和AJAX进行单点登录,c#,.net,ajax,single-sign-on,saml,C#,.net,Ajax,Single Sign On,Saml,我们正在基于.NET中的SAML消息实现单点登录(身份提供者端)。当用户想要使用某些服务时,他会被重定向到我们这边,并显示SAML请求消息。SAML消息在页面加载时接收并存储在全局变量中。我们在applet中显示他,该applet在浏览器(客户端)中读取他的智能卡,然后这些数据(只有一个字符串)由AJAX发送到服务器端,我们在服务器端处理数据并进行一些验证检查,然后将SAML响应返回给服务提供商 问题-该场景不起作用,SAML响应消息未发送,用户未登录 有用信息: 如果删除applet(没有Aj
try {
$.ajax({
type: "POST",
url: "SmartAuth.aspx/GetData",
data: "{mbo : '" + CMBO.toString() + "', serbr : '" + CSerial.toString() + "', notbefore : '" + CNotBefore.toString() + "', notafter : '" + CNotAfter.toString() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
window.close()},
failure: function (msg) {
alert('Failure');},
});
} catch (e) {
alert('Ajax error: ' + e.message);
throw (e);
return 0;
}
谢谢 我不清楚在AJAX
成功后,您试图从何处发出重定向。您是否尝试触发(隐藏的)页面表单提交?目标URL在SAML响应消息中定义,Ajax只需要将数据发布到服务器,就这样。然后我们处理数据,创建SAML响应并发送它。我们的工作完成了,但我认为Ajax连接是开放的,不允许通过HTTP发送消息。