0

我正在使用 ASP .NET MVC 4 开发一个网站,我使用 SimpleMembership 进行身份验证。我需要限制用户使用他的帐户进行不超过特定数量的会话。在用户达到他的限制后,我想使他最旧的经过身份验证的会话无效。计数会话可以在 global.asax 的 session_start 和 session_end 方法中实现,但我真的不确定如何进行失效。任何想法将不胜感激。

4

2 回答 2

1

派对有点晚了,但我是这样做的。

  • 当用户登录时,我将 asp.net 会话保存在缓存中
  • 一个属性 (OneSessionPerUser) 检查用户是否已登录并且他的当前会话等于缓存的会话
    • 如果缓存的会话 <> 当前会话 --> logout()

我创建了一个属性和一个静态 void(用于获取和设置缓存值)

于 2014-09-17T10:00:51.440 回答
0

对于您的问题,我将从会话中获取密钥,然后删除最旧的密钥。

 var keys = Context.Session.Keys;  //get the keys
 Context.Session.Remove(keys[0]; // remove first key in the list.
于 2013-04-19T13:01:11.583 回答