【问题标题】:What's a good strategy for renewing the expiration of a forms auth ticket between .net and php?更新.net和php之间的表单身份验证票到期的好策略是什么?
【发布时间】:2010-10-12 18:31:59
【问题描述】:

我正在创建一个应用程序,该应用程序将从 .net 获取存储表单身份验证票证的 cookie 的内容。那部分已经完成。该票证中包含过期时间,默认为 20 分钟。

所以场景是,用户登录并在 .net 端进行验证。然后它们被重定向到我的 PHP 应用程序。我得到用户名、票证到期等。

当用户在我的应用上保持活跃状态​​时,更新票证的最佳方式是什么?这里有两种可能的方法,我相信还有更多:

  1. 距到期时间还有 10 分钟,如果用户仍处于活动状态,则会联系 .net Web 服务向我开具新的到期票。当页面空闲 20 分钟后,用户被重定向到原来的 .net 登录。

  2. PHP 使用 cookie 来处理过期问题。当它接近 10 分钟并且用户仍在浏览时,它会刷新。但是当页面空闲 20 分钟时,用户会被重定向回原来的 .net 登录。

其他建议?优点,缺点?我正在寻找速度和安全性。

【问题讨论】:

    标签: .net php asp.net cookies forms-authentication


    【解决方案1】:

    我会根据您的问题假设您没有使用持久性 cookie,并且您正在使用滑动到期。如果您打算尝试在 php 中复制相同的行为,那么您可能需要查看this

    举个例子:如果登录页面是在下午 5:00 00:00:00 访问的,如果 timeout 属性为 10 并且slidingExpiration 属性为设置为真。现在,如果在下午 5:05 00:00:00 再次浏览任何网页,cookie 和票证超时期限将重置为下午 5:15 00:00:00。

    基本上,每当用户访问您的某个 php 页面时,您都会更新 cookie 的过期时间。

    另一种选择是在您的页面中嵌入 IFRAME 之类的内容,这会从您的 .net 站点中提取 .aspx。这将具有“刷新” cookie 的效果。

    【讨论】:

      猜你喜欢
      • 2017-05-20
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      • 2011-01-02
      • 2016-04-22
      相关资源
      最近更新 更多