ServiceStack 中的身份验证、仓库和缓存提供程序可以简单地为 Web 应用程序添加登录会话,几乎不需要额外的代码。我发现身份验证提供程序的会话超时可以进行配置,例如:
new CredentialsAuthProvider { SessionExpiry = TimeSpan.FromMinutes(10) }
这提供了一个从登录时间算起的到期时间。如果我们正在开发一个安全系统,必须在短时间内将用户注销,则将其从默认的2周更改为类似上面示例的时间。但是这会有一个问题,即用户登录后10分钟后,无论他们是否仍在与应用程序交互,都将被强制退出。
有没有一种简单的方法告诉会话提供者在调用服务时延长过期时间?
理想情况下,它将允许我们为特定的服务/请求延长会话(因此仅在用户积极与应用程序交互时才延长会话,因此可以忽略轮询服务)。
更新
根据mythz给出的答案,我们现在通过扩展ResponseFilterAttribute拥有了一个提供所需级别控制的简单解决方案。