我使用窗體身份驗證在我目前的ASP.NET Web應用程序(不MVC)和我的IIS 6服務器的正確IIS 6的配置配置了以下選項:窗體身份驗證
在[目錄安全性選項卡] - > [身份驗證方法]我有:
- 的啓用匿名訪問
- 集成Windows身份驗證啓用
做好以上選項防止表單身份驗證正常工作?換句話說,表單身份驗證的正確IIS 6配置是什麼?
編輯
我只是做了測試與上面的兩個選項啓用,窗體身份驗證會話過期,重定向我到登錄頁面,但所有的答案到目前爲止提醒,[集成Windows身份驗證]應關!
我使用窗體身份驗證在我目前的ASP.NET Web應用程序(不MVC)和我的IIS 6服務器的正確IIS 6的配置配置了以下選項:窗體身份驗證
在[目錄安全性選項卡] - > [身份驗證方法]我有:
做好以上選項防止表單身份驗證正常工作?換句話說,表單身份驗證的正確IIS 6配置是什麼?
編輯
我只是做了測試與上面的兩個選項啓用,窗體身份驗證會話過期,重定向我到登錄頁面,但所有的答案到目前爲止提醒,[集成Windows身份驗證]應關!
以下是使用ASP的檢查表。在IIS6 NET表單驗證
配置IIS:
在IIS中,站點屬性 - >目錄安全性 - >身份驗證和訪問控制
配置Forms身份驗證:
配置表單身份驗證在你的網站的web.config
:
<authentication mode="Forms">
<forms name="MySite"
path="/"
loginUrl="~/logon.aspx"
protection="All"
timeout="30"
slidingExpiration="true" />
</authentication>
你name
和loginUrl
可能會有所不同。 slidigExpiration
屬性用於延長表單身份驗證Cookie的使用期限,而不是在timeout
過期後將用戶從網站踢出。 timeout
的值以分鐘爲單位。
配置會話超時:
您需要將您的會話狀態timeout
配置比你的窗體身份驗證票到期更長的時間。如果你不這樣做,那麼一個空閒會話可以超時會話,但讓用戶登錄。預期會話值存在的代碼將拋出異常,因爲即使它們仍然通過身份驗證,它們也會消失。 timeout
的價值也在幾分鐘內。
<sessionState mode="InProc" timeout="40" />
1 000 000謝謝! – 2013-09-05 23:19:41
由於表單身份驗證不依賴於IIS身份驗證,因此如果您打算在ASP.NET應用程序中使用表單身份驗證,則應在IIS中爲應用程序配置匿名訪問。
請參閱http://msdn.microsoft.com/en-us/library/ff647070.aspx瞭解更多信息。
謝謝,所以換句話說,使用表單認證時應該關閉[綜合Windows認證]!對吧 – 2011-04-21 08:12:32
是的。還要確保James提到的authenticity標籤是正確的。另一件你需要確保你有
應該啓用匿名訪問,我不認爲認爲集成的Windows身份驗證有所作爲,但如果你不需要它,那麼最好關閉它。要記住的重要一點是要確保它的開啓在web.config中:
<authentication mode="Forms" />
這是一個基本的教程,可能是有用的:
匿名訪問 - >檢查 所有其他安全選項卡上的選項 - >未選中
請注意,表單身份驗證是由.NET完成的,而不是由IIS完成的。另外,Windows身份驗證也必須關閉。
寧可technical explanaitions由MS。
需要多長時間才能過期?您在登錄後是否嘗試過檢查cookie,您可以使用Firebug(在Firefox中)或IE開發人員工具欄(按F12)。您是否配置了標籤以允許(以及拒絕)在包含您的頁面的文件夾中進行訪問? –
2011-04-21 10:13:19
30分鐘,因爲我想,並且是標記可能已配置,並且上面的兩個選項都啓用了! –
2011-04-21 13:38:04