2012-10-01 40 views
1
空白

我的web應用程序使用Windows身份驗證。所有其他認證方法都被禁用。User.Identity.Name有時與Windows身份驗證

它工作在第一; User.Identity.Name返回「MYDOMAIN \ myuser」。不過,如果我等待131秒(是的,我計時了,雖然我不知道它總是帶那麼長),並重新加載頁面,User.Identity.IsAuthenticated =虛假和User.Identity.Name =「」。在這一點上,我可以重新加載頁面,並再次運行,再進行131秒的不活動。

web.config中的相關部分:

<authentication mode="Windows" /> 
<authorization> 
    <deny users="?" /> 
</authorization> 
<identity impersonate="false" /> 
... 
<security> 
    <authentication> 
    <windowsAuthentication enabled="true" /> 
    <anonymousAuthentication enabled="false" /> 
    </authentication> 
</security> 

更多的信息,可能相關的:

我的解決方案部署到兩個不同的IIS應用程序。第一個是針對內部用戶的;它只是使用Windows身份驗證。第二個是外部用戶;它使用匿名身份驗證(僅在根文件夾中)並形成身份驗證。我只在內部網站遇到問題。

+0

這將可能會有所幫助,以便能夠看到你的'<配置>'部分以及任何適用的'代碼'元素。 '我也瘋了嗎?還是沒有''元素''''這樣的東西? – pseudocoder

+0

我在system.web中沒有成員資格部分。安全元素實際上在system.webserver下。連接字符串<添加名稱= 「MyConnectionString」 的connectionString = 「數據源= XXXXX;初始目錄= XXXXX;用戶ID = XXX;密碼= XXX」 的providerName = 「System.Data.SqlClient的」/>。 – WhiteAlligator

回答

1

賬戶文件夾下的web.config文件是允許匿名身份驗證(我貼我的問題之一是主要的web.config)。不知道如何發生,但刪除它解決了問題。