我们已经为ASPX网站安装并配置了IIS集成工具包。 SSO工作正常,但无法处理SLO过程: 1)我们创建了“退出”链接:
https://[PingFederate]/idp/startSLO.ping?PartnerSpId=[partner]&TARGET=[our_site].
2)在PingFederate服务器上,我们的代理有注销URL:
https://[our_site]/logout.aspx
3)logout.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程序。
谢谢!
答案 0 :(得分:1)
我找到了IIS Integration Kit的解决方案:
不需要logout.aspx解析“resume”get参数,并重定向到PingFederate。但我们仍然将它分配给退出按钮
pfisapi.conf中有CancelURL参数,它使用常规的expersion,所以我将其更改为
CancelUrl=/.*logout.*
这意味着当用户访问此URL并执行注销过程时,IIS集成工具包会查找。