Asp.net
表單身份驗證是否適用於 Web 負載均衡器?
我正在開發一個使用表單身份驗證的 Web 應用程序。
<authentication mode="Forms"> <forms slidingExpiration="true" loginUrl="~/User.aspx/LogOn" timeout="15" name="authToken" /> </authentication>當我登錄時,我在瀏覽器中看到了這個 cookie:
問題是當我將此網站置於負載平衡模型中時會發生什麼?ASP.net 會話 cookie 在哪裡設置?我沒有在程式碼中明確地做到這一點,所以我假設它發生在 ASP.Net 的某個地方的幕後。
此外,如果會話 cookie 是由 Web 伺服器 A 設置的,我假設 Web 伺服器 B 不會辨識它並將其視為無效會話。如果是這種情況,我可能不想使用它,對吧?
您必須將機器密鑰設置為相同,並且兩台機器上的名稱相同……如果這樣做,您應該沒有問題與表單身份驗證進行負載平衡。
<authentication mode="Forms"> <forms loginUrl="~/Login/Index" defaultUrl="~/" name=".myportal" protection="All" slidingExpiration="true" timeout="20" path="/" requireSSL="false"></forms> </authentication> <machineKey validationKey="534766AC57A2A2F6A71E6F0757A6DFF55526F7D30A467A5CDE102D0B50E0B58D613C12E27E7E778D137058E" decryptionKey="7059303602C4B0B3459A20F9CB631" decryption="Auto" validation="SHA1"/>會話可能會稍微複雜一些。您可以將 ASP.Net 會話狀態儲存在數據庫中,或者使用共享會話提供程序使其也可用於負載平衡。
這是一篇關於在數據庫中儲存會話狀態的好文章:http: //idunno.org/articles/277.aspx
