【问题标题】:clear session on every first visit每次第一次访问时清除会话
【发布时间】:2012-05-23 06:52:24
【问题描述】:

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

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

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

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

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

}

我担心的是,在调用 indexaction 之前,将调用该基本控制器,我将得到一个无限循环。

注意:我使用的是 UserCookie,其中存储了用户 ID 和 cookie 的过期时间。

有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

    您似乎想检查 Facebook 用户 ID 是否与会话状态中的数据匹配。最简单的方法是输入Session["FBID"]=facebookId 之类的内容,然后检查每个请求是否当前的 facebookId 匹配 `Session["FBID"],如果不匹配 - 清除会话(无论当前位置如何)。

    【讨论】:

    • 是的,我想过,我正在寻求一个简单的答案。例如在入口点清除会话等
    • @DarthVader:这并不比将新的 facebook 数据与会话中的数据进行比较容易得多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多