2014-06-12 93 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... 
}