承接上篇,本文完成 SQL Server 授權與 ASP.NET 模擬設定,打通從瀏覽器到資料庫的完整安全信任鏈。
DotNetKB)的「使用者」節點。DotNetKBDotNetKBDotNetKB 資料庫,角色勾選 public,確定。
DotNetKB 資料庫的「使用者」屬性,雙擊 DotNetKB 使用者。public 角色,點選「屬性」→「權限」。EXECUTE 權限。理由: 授權給 public 角色而非個別使用者,未來新增登入只需對應此資料庫使用者即可自動繼承執行權限,降低維運複雜度。
修改 Web 專案根目錄下的 web.config,在 <system.web> 區段加入:
<configuration>
<system.web>
<!-- 其他設定 -->
<identity impersonate="true" /> <!-- 模擬 IIS 傳遞的 Windows 身分 -->
<!-- 其他設定 -->
</system.web>
</configuration>
關鍵點:
impersonate="true" 讓 ASP.NET 執行緒使用 IIS 驗證後的 Windows Token 存取 SQL Server(整合驗證)。DotNetKB 身分執行 ASP.NETimpersonate="true" 取得 DotNetKB TokenDotNetKB 登入 → 依 public 角色執行預存程序至此,三層安全架構建置完成。建議定期審核 public 權限、稽核登入失敗事件、啟用 SQL Server 審計功能。