2014-06-12 44 views
2

似乎OWIN不老ASP.NET管道不再依赖,所以基于会话值不能再设置OWIN和HttpContext.Current.Session

不过,我没有找到一个简单的方法在OWIN本身的每个浏览器会话中唯一标识匿名用户(就像SessionId帮助我做的那样)。

任何想法? :)

+1

你可以添加自己的OWIN设置至少一个值中间件,它设置了一个可以在后续请求中读取的持久性cookie。这就是'SessionStateModule'在发动机罩下所做的事情...... –

回答

1

好,我跳下来的结论。

我只是忘了,为了有一个给定的浏览器会话,你只需要在用户会话:)

干杯,本

+0

如果没有足够的答案,请关闭/删除问题。 –

0

似乎OWIN不老ASP.NET管道不再依赖,所以基于会话值不能再设置

首先,OWIN和会话绝对无关彼此。它们是完全独立的命名空间/功能。

如果你的web.config不正确configured会话将无法正常工作。你可以关掉OWIN,会话仍然可以工作。你可以关闭会话,OWIN仍然可以工作。

尽管如此,我还没有找到一种简单的方法来唯一标识OWIN本身的每个浏览器会话中的匿名用户(如SessionId正在帮助我做的那样)。

这从来没有改变过(因为你没有给任何情况下,我会在控制器内承担):

if (HttpContext.User.Identity.IsAuthenticated) 
{ 
    // user is not anonymous... 
}