【问题标题】:Singing out of Claims/SharePoint SSO (close browser or not?)唱出 Claims/SharePoint SSO(是否关闭浏览器?)
【发布时间】:2014-01-24 12:24:58
【问题描述】:

这是场景:

我有一个 ASP.NET MVC 4.0 应用程序,它使用基于声明的身份验证,使用 STS。这也用于为我的 SharePont 2010 应用程序提供单点登录解决方案。有问题的工作流程如下。

  1. 用户登录到 MVC 应用程序
  2. 用户导航到 SharePoint(SSO 让他们自动进入)
  3. 用户返回 MVC 应用程序
  4. 用户通过 MVC 应用程序注销(通过 STS,例如 default.aspx?wa=wsignout1.0)

从现在开始,用户将无法进入常规的 MVC 应用程序。但是,如果他们键入 SharePoint 2010 网站的 URL,他们将具有访问权限。我的一种方法是尝试在通过 MVC 应用程序注销时关闭浏览器。这可行,但我在使用 FireFox 时遇到问题 Scripts may not close windows that were not opened by script. 我尝试了很多解决方案,但没有一个能让我做到这一点。

我想知道是否有人可以就可能的解决方案提供一些见解?

  • 在不关闭浏览器的情况下强制 SharePoint 2010 从 MVC 代码中注销?
  • 找到强制 Firefox 关闭浏览器的方法?
  • 更改 SharePoint 读取 STS 提供的声明的方式?

提前致谢!

【问题讨论】:

    标签: asp.net asp.net-mvc sharepoint-2010 claims-based-identity


    【解决方案1】:

    请原谅我在这方面不够精确,但 SharePoint 有它自己的生命 :)。

    这是我用来解决类似问题的 powershell 但是你需要有一个 SharePoint SP 累积更新,当我这样做时,我已经申请了 6 月 CU 没有它会话将过期,不管用户活动:

    $sts = Get-SPSecurityTokenServiceConfig
    $sts.LogonTokenCacheExpirationWindow = (New-TimeSpan –seconds 1)
    $sts.UseSessionCookies = $true
    $sts.Update()
    iisreset
    

    我记得我也测试过这个版本,它运行良好,但我的 SharePoint 是基于表单的身份验证:

    $sts = Get-SPSecurityTokenServiceConfig
    $sts.WindowsTokenLifetime = (New-TimeSpan -Minutes 30)
    $sts.FormsTokenLifetime = (New-TimeSpan -Minutes 30)
    $sts.LogonTokenCacheExpirationWindow = (New-Timespan –Minutes 5)
    $sts.UseSessionCookies = $true
    $sts.Update()
    

    http://msdn.microsoft.com/en-us/library/hh147183(v=office.14).aspx

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      • 1970-01-01
      相关资源
      最近更新 更多