zl程序教程

您现在的位置是:首页 >  其它

当前栏目

第六十章 CSP的常见问题 - 如何结束CSP会话,CSP会话超时

如何 常见问题 超时 结束 会话 CSP
2023-09-11 14:15:37 时间

第六十章 CSP的常见问题 - 如何结束CSP会话,CSP会话超时

如何结束CSP会话?

若要结束CSP会话,请在对象脚本方法中将%ession.EndSession属性设置为1。如果CSP应用程序超时,会话将由CSP类自动结束。

我结束了我的CSP会话,但Caché仍然报告我正在使用许可证。为什么?

如果只访问了一个页面,然后注销或会话超时,CSP会提供5-10分钟的宽限期,在此宽限期内,CSP会为保留license,以便快速返回时可以重新获取相同的license
宽限期较长者为:

  • 距离会话结束(超时或注销)还有5分钟
  • 确保从会话开始算起10分钟的时间(确保会话最少10分钟)

下表总结了license的发放方式和发放时间:

Case用户访问了一个页面用户已访问多个页面
代码显式地将%ession.EndSession设置为1(例如,当用户单击Logout时)会话将获得宽限期。当宽限期到期时,许可证将被释放。许可证将立即发放
浏览器已打开,并且会话未超时许可证将被保留许可证将被保留
用户关闭了浏览器,但会话尚未超时许可证将被保留许可证将被保留
会话已超时时会话将获得宽限期。当宽限期到期时,许可证将被释放。许可证会立即发放

以下是当访问了单个页面时,宽限期如何运作的一些示例:

  • 用户在12:00登录,在12:15退出。宽限期5分钟,所以12点20分许可免费。
  • 用户在12:00登录,在12:03退出。许可证的最小使用时间是10分钟,因此许可证在12:10是免费的。
  • 用户在12:00登录,并在12:10关闭浏览器。超时设置为15分钟,因此会话在12:25结束。宽限期5分钟,所以12:30许可证免费。

如何更改应用程序的超时?

在每个名称空间中,应用程序的默认超时设置为900秒(15分钟)。

  • 要更改某个名称空间内所有CSP页面的超时时间,请执行以下操作:
    1. Caché多维数据集中,单击管理门户。如有必要,请登录。
    2. 在管理门户的主页上,导航至系统管理>安全性>应用程序> Web应用程序。
    3. Web应用程序页面上,单击CSP应用程序的编辑进行配置。
    4. 在默认超时字段中,输入新值(以秒为单位),然后单击保存。
  • 要更改特定应用程序的超时,请在页面中放置以下内容,其中x是超时值,以秒为单位。
s %session.AppTimeout = x

我想在用户CSP会话超时时执行清理或日志记录。我该怎么做?

  1. 使用OnTimeout类方法创建事件类。
  2. 通过以下方式之一将它指定为应用程序的事件类:
  • 在管理门户中,导航到系统管理>安全>应用程序> Web应用程序,单击CSP应用程序的编辑以进行配置。在事件类字段中,输入要使用的类名,例如User.MyEventClass

  • 在CSP页面中,使用%session.EventClass属性:

<script language="cache" runat="server">
s %session.EventClass = "User.MyEventClass"
</script>
  1. OnTimeou方法中,记录希望保留的任何信息。

注意:此时不能将信息发送回浏览器(警报或重定向)。