Web 應用程式預設為匿名存取,若無驗證機制,任何人皆可存取受保護資源。身分驗證 (Authentication) 確認「你是誰」,授權 (Authorization) 決定「你能做什麼」。ASP.NET 搭配 IIS 提供多層次驗證選項。
| 模式 | 適用場景 | 特點 |
|---|---|---|
| 匿名驗證 | 公開網站、靜態資源 | 預設啟用,使用 IUSR 或指定帳號,無需登入 |
| Windows 驗證 | 內部網域環境 | 整合 NTLM/Kerberos,單一登入 (SSO),IE/Edge/Chrome/Firefox 均支援 |
| 基本驗證 | 跨平台、非網域 | Base64 編碼帳密,**必須搭配 HTTPS**,否則明文等同 |
| 摘要式驗證 | 網域環境、防重放攻擊 | MD5 雜湊挑戰回應,需網域控制站,較少用 |
| 表單驗證 | 公開網站、自訂登入頁 | ASP.NET 核心機制,Cookie 儲存票證,彈性最高 |
| ASP.NET 偽裝 | 特定權限存取資源 | 執行緒以特定 Windows 身分執行,非驗證機制 |
| 用戶端憑證對應 | 高安全性、雙向 SSL | 需憑證基礎建設 (PKI),成本高 |
Basic base64(user:pwd),Base64 可瞬間解碼,**務必強制 HTTPS**。

實際上以內建帳號 IUSR 或自訂帳號執行,適合公開內容;搭配 Windows 驗證可實現「公開瀏覽、登入操作」混合模式。

ASP.NET 專屬、最彈性、最常用的驗證方式:
FormsAuthenticationTicket)。web.config 設定 <authentication mode="Forms"> 保護路徑。RoleProvider、MembershipProvider 實現角色授權。SlidingExpiration 滑動過期、Cookieless 模式。本文概述 IIS 七大驗證模式與實測細節。Forms Authentication 為公開網站主流選擇,後續將深入探討:
敬請期待後續系列文章!