第六十章 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
方法中,记录希望保留的任何信息。
注意:此时不能将信息发送回浏览器(警报或重定向)。
网友评论