2012-05-22 69 views
0

我有一个基于会话的Facebook应用程序。我有不良行为,如下所示:如果用户正在使用该应用程序,然后从Facebook和其他一些用户登录登录到Facebook和登录应用程序,他们看到刚刚注销的用户数据。每次首次访问清除会话

基本上我喜欢每次访问者打开第一页时清除会话。

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

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

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

} 

我关心的是,当被调用的indexAction该基地控制器将被调用之前,我会得到一个无限循环。

注意:我使用的UserCookie,我存储的用户ID和Cookie到期。

有什么想法?

回答

2

它看起来像要检查Facebook用户ID是否与会话状态中的数据匹配。最简单的方法是将类似Session["FBID"]=facebookId的东西,并检查每个请求,如果当前facebookId匹配`Session [“FBID”],否则 - 清除会话(不论当前位置)。

+0

是的,我想过,我正在寻求一个简单的答案。例如在入口点清除会话等。 – DarthVader

+0

@DarthVader:比较新的Facebook数据与会话中的数据并不那么容易。 –

+0

:)好吧。我去做。谢谢。 – DarthVader