ASP.NET 2.0 透過 Membership 架構與登入控件,提供完整的網站認證授權解決方案。本文聚焦於實作細節:專案建立、WSAT 組態、登入頁面路徑設定與 LoginStatus 控件進階應用。
預設使用 Forms 驗證時,點擊登入連結會導向根目錄 Login.aspx,但實際登入頁面可能位於 /Login/Login.aspx。解決方法是在 web.config 中明確指定 loginUrl:
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Member/Login.aspx" />
</authentication>
</system.web>
原理:FormsAuthenticationModule 依此設定導向登入頁;~ 代表應用程式根目錄,支援虛擬路徑。
LoginStatus 根據用戶狀態顯示「登入」或「登出」連結。兩大關鍵屬性:
Refresh(重新整理)、Redirect(導向 LogoutPageUrl)、RedirectToLoginPage(導向登入頁)。<asp:LoginStatus ID="LoginStatus1" runat="server"
LogoutAction="Redirect"
LogoutPageUrl="~/Home.aspx" />
驗證模式可選 Forms(表單驗證,預設)或 Windows(整合 Windows 驗證)。
web.config 微調 forms loginUrl、timeout、slidingExpiration 等參數掌握這些設定細節,即可快速建構安全、可維護的會員制網站。