首页 > 解决方案 > 是否可以向 FormsAuthenticationTicket 到期添加回调?

问题描述

FormsAuthenticationTicket 按预期工作。我将它设置为“现在 + 60 秒”,在它过期后,我的下一个操作会将我重定向到登录页面。尽管我必须在票证到期后立即重置许可证。有什么办法可以做到这一点?我找不到任何事件处理程序来附加此类功能。我也对不同的方法持开放态度。我的目标是在特定时间间隔后注销用户并调用释放许可证的方法。

标签: c#asp.netwebforms

解决方案


我能想到的最简单的实现是使用 global.asa.cs 或 global.asa.vb,具体取决于您的语言。您可能需要从带有唯一许可证标识符的票证中存储一个单独的 cookie,以便在调用session_end方法时,您可以从浏览器中获取 cookie 并从该会话中撤销许可证。如果您不使用 cookie,可以存储一个数据库表活动用户 ID 和许可证密钥,并且每次调用session_end时,您可以查看用户是否仍然登录,如果没有,则撤销许可证。

见方法:

Session_Start:当新用户访问应用程序网站时触发。Session_Start 事件在用户会话第一次启动时触发。这通常包含用于会话初始化的逻辑代码。

Session_End:当用户的会话超时、结束或离开应用程序网站时触发。


推荐阅读