第六十章 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页面的超时时间,请执行以下操作:- 从
Caché多维数据集中,单击管理门户。如有必要,请登录。 - 在管理门户的主页上,导航至系统管理>安全性>应用程序> Web应用程序。
- 在
Web应用程序页面上,单击CSP应用程序的编辑进行配置。 - 在默认超时字段中,输入新值(以秒为单位),然后单击保存。
- 从
- 要更改特定应用程序的超时,请在页面中放置以下内容,其中
x是超时值,以秒为单位。
s %session.AppTimeout = x
我想在用户CSP会话超时时执行清理或日志记录。我该怎么做?
- 使用
OnTimeout类方法创建事件类。 - 通过以下方式之一将它指定为应用程序的事件类:
-
在管理门户中,导航到系统管理>安全>应用程序>
Web应用程序,单击CSP应用程序的编辑以进行配置。在事件类字段中,输入要使用的类名,例如User.MyEventClass。 -
在CSP页面中,使用
%session.EventClass属性:
<script language="cache" runat="server">
s %session.EventClass = "User.MyEventClass"
</script>
- 在
OnTimeou方法中,记录希望保留的任何信息。
注意:此时不能将信息发送回浏览器(警报或重定向)。






网友评论