我在我的应用程序中使用了shibboleth身份验证,当用户单击Logout按钮时,他将被定向到~/Shibboleth.sso/Logout链接,当按钮单击时看起来是成功的,但如果我再次尝试使用shibboleth登录,它不会重定向到Shibboleth登录页面!相反,它会显示之前登录的用户(即我已经注销)。因此,会话似乎是持久的,即使在注销之后!但是如果在再次登录之前,我关闭了浏览器,用户通常会被重定向到Shibboleth登录页面。因此,这看起来像是会话状态或cookie问题!我使用了以下代码来解决这个问题:
if (Request.Cookies["shibsession"] != null)
{
HttpCookie myCookie = new HttpCookie("shibsession");
myCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(myCookie);
}
Response.Redirect("~/Shibboleth.sso/Logout");但是它不起作用!有人能帮上忙吗?
发布于 2013-08-14 17:06:36
指向服务提供商的URL Shibboleth.sso/Logout无法控制IdP的会话,也无法控制。它可以发送SAML注销请求,或者发出专有重定向。
最佳实践:注销处理程序应由身份提供者处理。
注销后关闭浏览器是唯一的选项。注销在规模上是行不通的,除非浏览器供应商合作,自己动手做,否则永远不会成功。因此,你可以假设关闭浏览器是唯一的选择,这仍然需要清除最新浏览器Chrome或Firefox上的cookie。
https://stackoverflow.com/questions/17428524
复制相似问题