在我的应用程序中,每当用户登录时,他都会被添加到存储有关已登录用户的数据的表中,但我没有实施任何措施来将这些用户从我的表中删除。当他注销或以任何其他方式失去他的会话时,我需要从我的表中删除该用户。是否有“SessionDestroy”事件或类似的事件,允许我在销毁的会话上实现某些东西?
问问题
802 次
1 回答
2
您可以将“会话事件”(使用匿名方法)添加到会话管理器。自 2009 年以来,我猜(但在 XE 上测试过)。适用于 REST 会话等。示例代码:
TDSSessionManager.Instance.AddSessionEvent(
procedure (Sender: TObject; const EventType: TDSSessionEventType;
const session: TDSSession)
begin
case EventType of
SessionCreate :
begin
session.UserRoles.Add('guest'); // guest role is fixed
...
end;
SessionClose:
begin
FreeAndNil(some_more_data);
end;
end;
end);
于 2012-04-27T20:18:41.727 回答