2012-01-20 66 views
1

很奇怪的問題,我現在面臨與ASP.Net和當前用戶最後用戶。ASP.Net Httpcontext.Current.User顯示誰產生的線程

使用ASP.Net 4.0。

出於某種原因,HttpContext.Current.User.Identity.Name報告用戶身份作爲誰打服務器的最後一個人。換句話說,它以某種方式緩存身份。

繼承人的情景: 登錄計算機1上用我自己的用戶名,它顯示的罰款。 使用其他用戶名登錄到計算機2並顯示正常。

刷新計算機1上的瀏覽器,它顯示計算機2的憑據!

我已經嘗試了一切!我有一個自定義角色提供程序,我關閉並嘗試了所有可能的設置。目前我的網絡配置中有兩行應該可以正常工作。

我檢查IIS中的以下內容: 匿名禁用 的Windows啓用 禁用會話狀態!

要測試的用戶名,我這樣做:

lblUserName.Text = HttpContext.Current.User.Identity.Name; 

任何想法,我做錯了嗎? 這可能是因爲我使用NTLM而不是Kerberos?

任何幫助,將不勝感激

+0

您是否能夠在新項目中重現問題? – Stilgar

+0

我很快就會嘗試回來 – Fox

+0

嗯,問題不是新的項目發生的事情......必須的web.config問題的地方.... – Fox

回答

0

聖抽菸,多麼愚蠢的問題!我通過撕開web.config找到答案。

原來是緩存問題。我有在我的web.config以下爲啓用:

<caching enabled="false"> 
    <profiles> 
    <add duration="72:00:00" location="Client" extension=".aspx" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" /> 
    <add duration="72:00:00" location="Client" extension=".axd" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" /> 
    <add duration="72:00:00" location="Client" extension=".js" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" /> 
    <add duration="72:00:00" location="Client" extension=".css" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" /> 
    <add duration="72:00:00" location="Client" extension=".png" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" /> 
    <add duration="72:00:00" location="Client" extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" /> 
    <add duration="72:00:00" location="Client" extension=".gif" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" /> 
    </profiles> 
</caching> 

禁用緩存定了! 奇怪的問題。

+0

您已啓用緩存動態內容(如aspx文件)。 – Stilgar

+1

現在不是好東西!這也解釋了我一直有很多其他問題!骨頭移動,但至少它的排序! – Fox