【问题标题】:Jasig CAS SSO .NET client not logging out from other appsJasig CAS SSO .NET 客户端未从其他应用程序注销
【发布时间】:2013-04-11 13:41:01
【问题描述】:

我正在使用 Jasig CAS .NET 客户端在我的应用程序中使用来自服务器的 SSO 进行身份验证。我已经按照文档中的说明实现了所有内容,并在我的所有控制器中添加了 [Authorize]。

从我的应用程序和我尝试与之集成的应用程序登录工作正常。我可以从任一应用程序登录,并且用户已通过身份验证。

问题在于注销。如果我从其他应用程序中注销,用户仍然可以访问我的应用程序。

这是因为 CAS 注销无法删除 cookie 吗?还是我做错了什么?

【问题讨论】:

    标签: asp.net-mvc-3 single-sign-on cas jasig


    【解决方案1】:

    您仍然登录到您的网络应用程序,因为身份验证信息存储在 cookie 中,并且您的网络应用程序(或 .NET CAS 客户端)不会检查每个页面请求是否仍然在 CAS 上登录服务器。 cookie 用于此目的,直到过期。

    所以基本上 CAS 服务器必须有一个 单点注销 页面,该页面可以让用户从使用该 CAS 服务器的所有 Web 应用程序中注销,包括您的。 CAS 服务器必须配置为在您的 Web 应用程序中调用 Logout 页面,这反过来会放弃 ASP.NET 会话并删除身份验证 cookie。 CasAuthentication.SingleSignOut() 方法为您完成了这项工作。

    【讨论】:

      猜你喜欢
      • 2017-10-06
      • 2015-03-19
      • 1970-01-01
      • 2011-09-01
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多