我一直在 GeneXus 中开发“在线”智能设备应用程序。当用户停止使用应用程序一段时间后,远程服务器会话会自动结束。由于我使用了很多 websession 变量,如果用户尝试继续使用该应用程序,它就会变得无响应。我正在考虑一种方法来防止用户在远程会话结束时继续使用该应用程序。我想强迫他做一个新的登录程序(我没有使用 GAM)。
我是否必须创建一个 websession 变量来验证会话是否有效并针对我的所有过程和所有服务器端事件进行测试?最好的方法是什么?
我一直在 GeneXus 中开发“在线”智能设备应用程序。当用户停止使用应用程序一段时间后,远程服务器会话会自动结束。由于我使用了很多 websession 变量,如果用户尝试继续使用该应用程序,它就会变得无响应。我正在考虑一种方法来防止用户在远程会话结束时继续使用该应用程序。我想强迫他做一个新的登录程序(我没有使用 GAM)。
我是否必须创建一个 websession 变量来验证会话是否有效并针对我的所有过程和所有服务器端事件进行测试?最好的方法是什么?
以下是一些可能对您有所帮助的元素: 尝试将 websession 存储在 stateserver 或 sql server 中,这样它就不会因为 asp.net 回收而过期,例如 - 对于您在 .NET 中的情况。读这个
另一种选择可能是使用ClientStart Event,可能是创建一个外部对象来检查连接性和会话状态可能会有所帮助。
GAM:尝试使用 GAM,您的应用会更加安全。在这种情况下,您可以使用 GAM!您也可以委托身份验证和授权。请查看GAM External Authentication和GAM External Authorization以及GAM Respository 功能和属性,以处理会话到期。