1

我们已经为 ASPX 网站安装和配置了 IIS 集成工具包。SSO 工作正常,但无法处理 SLO 流程:1)我们创建了“退出”链接:

https://[PingFederate]/idp/startSLO.ping?PartnerSpId=[partner]&TARGET=[our_site].

2) 在 PingFederate 服务器上,我们的代理有注销 URL:

https://[our_site]/logout.aspx

3) 注销.aspx

protected void Page_Load(object sender, EventArgs e)
{
    FormsAuthentication.SignOut();
    Session.Abandon();
    String returnUrl = "https://<PingFederate>" + Request["resume"];


    SFunctions.fnInsSystemLogRSP(returnUrl);

    Response.Redirect(returnUrl);
}

4)点击“退出”后,我们在浏览器中获得链接:

https://<our_site>/logout.aspx?resume=/sp/Yh9ls/resume/sp/SLO.ping&opentoken=[token]

5)我们在红色框中收到错误(来自 Ping Federate):

Error Single-Sign-On resumePath not whitelisted

6)我们的服务器支持也有链接

https://[Ping Federate]/ext/logout

如果我在浏览器中打开此链接,它会使我退出 PingFederate(如果我转到 SSO 链接,我将需要再次登录),但我仍然可以访问应用程序。

任何帮助表示赞赏!我们可能需要对 IIS 套件上的 SLO 使用不同的程序。

谢谢!

4

1 回答 1

1

我找到了 IIS 集成工具包的解决方案:

不需要 logout.aspx 来解析“resume”获取参数,并重定向到 PingFederate。但是我们仍然将它分配给退出按钮

pfisapi.conf中有CancelURL参数,使用的是正则表达式,所以我改成

CancelUrl=/.*logout.*

这意味着 IIS 集成工具包会在用户访问此 URL 并执行注销过程时查看。

于 2015-03-03T15:19:15.213 回答