每次首次访问都要清楚

时间:2012-05-22 22:38:14

标签: c# asp.net-mvc-3 session

我有一个基于会话的facebook应用程序。我的行为不正常如下:如果用户正在使用该应用程序然后从Facebook注销,其他一些用户登录到Facebook并登录应用程序,他们会看到刚刚注销的用户数据。

基本上我想在每次访问者访问第一页时清除会话。

我有一个HomeController,它在基本控制器中扩展BaseController,我检查用户是否有会话。

我应该在哪里放置Session.clear()以防止用户访问旧用户会话?

on

HomeController{
   [authorize for facebook]
   indexAction{
      redirect to home action
   }

}

我担心的是,当调用indexaction之前,将调用该基本控制器并且我将获得无限循环。

注意:我正在使用UserCookie来存储用户ID和cookie的到期日期。

任何想法?

1 个答案:

答案 0 :(得分:2)

看起来您想检查Facebook用户ID是否与会话状态中的数据匹配。最简单的方法是放置Session["FBID"]=facebookId之类的东西,然后检查每个请求,如果当前的facebookId匹配`Session [“FBID”],如果不匹配 - 清除会话(不管当前位置)。