關于我們
書單推薦
新書推薦
|
精通ASP.NET Core MVC 第7版
本書詳細解釋ASP.NET Core MVC的架構(gòu)、功能和應用,深入闡述構(gòu)建現(xiàn)代可擴展的Web應用程序的工具、技術和方法,揭示如何為.NET Core平臺創(chuàng)建輕型的移動端應用程序。本書主要內(nèi)容包括MVC模式、C#基本特性、Razor、Visual Studio、MVC應用程序的單元測試、實際應用程序的創(chuàng)建、URL路由、高級路由特性、控制器、依賴注入、過濾器、API控制器、視圖、視圖組件、標簽助手、模型綁定、模型驗證、ASP.NET Core Identity、模型約定和操作約束等。
本書適合.NET開發(fā)人員和 Web開發(fā)人員閱讀,也可供計算機相關專業(yè)的師生閱讀。
1.暢銷書升級版,詳細介紹了ASP.NET Core MVC的架構(gòu)、功能和應用,講述了開發(fā)可擴展的Web應用程序的工具和技術。
2.結(jié)合具體實例和代碼,展示了ASP.NET Core MVC的方方面面,揭示了如何用ASP.NET Core MV構(gòu)建Web應用程序。
3.第7版新增了大量內(nèi)容:
·Visual Studio、C#、Entity Framework、.NET Core 2的功能;
·配置應用程序和元包的方法;
·Visual Studio Code的用法和在非Windows平臺上使用.NET Core的方法。
通過閱讀本書,你可以實現(xiàn)以下目標:
·透徹理解ASP.NET Core MVC框架;
·理解MVC和測試驅(qū)動的開發(fā)的原理;
·學會在日常工作中應用ASP.NET Core MVC的功能;
·明白如何為單頁應用程序創(chuàng)建REST風格的Web服務;
·基于已有的MVC知識快速搭建新的編程模型。
Adam Freeman 是一位經(jīng)驗豐富的IT 專家,曾在一系列公司擔任高級職務,最后的職務是一家全球性銀行的首席技術官(Chief Technology Officer,CTO)和首席運營官(Chief Operating Officer, COO)。退休以后,他喜歡寫作和長跑。
譯者簡介
郝冠軍,微軟最有價值專家,《ASP.NET 本質(zhì)論》作者。超過 20 年開發(fā)經(jīng)驗,擁有從前端到后端豐富的開發(fā)經(jīng)驗,有多個項目的架構(gòu)設計、系統(tǒng)開發(fā)和實施落經(jīng)驗地,對軟件開發(fā)有著深刻理解。
孫臻,現(xiàn)在中國海洋大學就職,長期從事ASP.NET及相關開發(fā),曾參與錄制“MSDN Webcast:Windows Phone 8 ”開發(fā)快速入門系列課程,現(xiàn)專注于ASP.NET Core及UWP 開發(fā)。
閆曉迪,微軟最有價值專家,現(xiàn)任新西蘭某公司高級開發(fā)工程師。10余年軟件開發(fā)經(jīng)驗,涉及Web、桌面、移動、云等多種平臺和技術。
張淯易,畢業(yè)于桂林電子科技大學,獲信息與通信工程碩士學位,新一代人工智能產(chǎn)業(yè)聯(lián)盟隱私保護組主要會員,就職于海信數(shù)字多媒體國家重點實驗室。主要從事人工智能領域中知識圖譜、自然語言處理、隱私保護等方向的相關工作。著有SCI兩篇,擁有專利十余篇,參與了IEEEP2807等大量知識圖譜、隱私保護相關的國際、國家標準工作。
目 錄
第 一部分 ASP.NET Core MVC
第 1章 ASP.NET Core MVC背景 2
1.1 ASP.NET Core MVC的歷史 2
1.1.1 ASP.NET Web Forms 2
1.1.2 起初的MVC框架 3
1.2 ASP.NET Core 3
1.2.1 ASP.NET Core MVC 2的新特性 4
1.2.2 ASP.NET Core MVC的主要優(yōu)點 4
1.3 預備知識 6
1.4 本書的結(jié)構(gòu) 6
1.5 如何獲取本書的示例代碼 6
1.6 聯(lián)系作者 6
1.7 小結(jié) 7
第 2章 首個MVC應用程序 8
2.1 安裝Visual Studio 8
2.2 安裝.NET Core 2.0 SDK 9
2.3 創(chuàng)建新的ASP.NET Core MVC項目 9
2.3.1 添加控制器 11
2.3.2 理解路由 13
2.4 渲染頁面 14
2.4.1 創(chuàng)建并渲染視圖 14
2.4.2 添加動態(tài)輸出 16
2.5 創(chuàng)建一個簡單的數(shù)據(jù)錄入程序 17
2.5.1 設置場景 17
2.5.2 設計數(shù)據(jù)模型 18
2.5.3 創(chuàng)建第二個操作和強類型視圖 18
2.5.4 鏈接操作方法 19
2.5.5 建立表單 20
2.5.6 接收表單數(shù)據(jù) 21
2.5.7 顯示響應 25
2.5.8 添加驗證 27
2.5.9 設置內(nèi)容樣式 31
2.6 小結(jié) 35
第3章 MVC模式、項目與約定 36
3.1 MVC簡史 36
3.2 MVC模式 36
3.2.1 模型 36
3.2.2 控制器 37
3.2.3 視圖 37
3.2.4 MVC的ASP.NET實現(xiàn) 37
3.3 MVC與其他模式的比較 38
3.3.1 “智能UI”模式 38
3.3.2 理解模型-視圖架構(gòu) 39
3.3.3 經(jīng)典的3層架構(gòu) 39
3.3.4 MVC的多樣性 40
3.4 ASP.NET Core MVC項目 40
3.4.1 創(chuàng)建項目 41
3.4.2 關于MVC的約定 43
3.5 小結(jié) 44
第4章 C#基本特性 45
4.1 準備示例項目 45
4.1.1 啟用ASP.NET Core MVC 46
4.1.2 創(chuàng)建MVC應用程序組件 47
4.2 運用null條件運算符 48
4.2.1 null條件運算符的連接運算 49
4.2.2 聯(lián)合使用null條件運算符和
null合并運算符 50 4.3 使用自動實現(xiàn)屬性 51 4.3.1 初始化自動實現(xiàn)屬性 51 4.3.2 創(chuàng)建只讀的自動實現(xiàn)屬性 52 4.4 使用字符串插值 53 4.5 使用對象和集合初始化器 54 4.6 模式匹配 56 4.7 使用擴展方法 58 4.7.1 將擴展方法應用于接口 59 4.7.2 創(chuàng)建過濾擴展方法 60 4.8 使用Lambda表達式 61 4.8.1 定義函數(shù) 63 4.8.2 使用Lambda表達式實現(xiàn)方法和 屬性 65 4.9 使用類型推斷和匿名類型 66 4.10 使用異步方法 68 4.10.1 直接使用任務 69 4.10.2 使用async和await關鍵字 70 4.11 獲取名稱 71 4.12 小結(jié) 72 第5章 使用Razor 73 5.1 準備示例項目 73 5.1.1 定義模型 74 5.1.2 創(chuàng)建控制器 74 5.1.3 創(chuàng)建視圖 75 5.2 使用模型對象 75 5.3 使用布局 78 5.3.1 創(chuàng)建布局 78 5.3.2 使用布局 80 5.3.3 應用視圖啟動文件 80 5.4 使用Razor表達式 81 5.4.1 插入數(shù)據(jù) 82 5.4.2 設置屬性值 83 5.4.3 使用條件語句 84 5.4.4 枚舉數(shù)組和集合 85 5.5 小結(jié) 86 第6章 使用Visual Studio 87 6.1 準備示例項目 87 6.1.1 創(chuàng)建模型 87 6.1.2 創(chuàng)建控制器和視圖 88 6.2 管理軟件包 89 6.2.1 NuGet 89 6.2.2 Bower 91 6.3 迭代開發(fā) 93 6.3.1 修改Razor視圖 93 6.3.2 對C#類進行更改 94 6.3.3 使用瀏覽器鏈接 99 6.4 部署JavaScript和CSS 102 6.4.1 啟用靜態(tài)內(nèi)容傳遞 102 6.4.2 為項目添加靜態(tài)內(nèi)容 103 6.4.3 更新視圖 104 6.4.4 MVC應用程序中的打包和 縮小 105 6.5 小結(jié) 108 第7章 對MVC應用程序進行 單元測試 109 7.1 準備示例項目 109 7.1.1 啟用內(nèi)置的標簽助手 109 7.1.2 為控制器添加操作方法 110 7.1.3 創(chuàng)建數(shù)據(jù)輸入表單 110 7.1.4 更新Index視圖 111 7.2 測試MVC應用程序 112 7.2.1 創(chuàng)建單元測試項目 112 7.2.2 創(chuàng)建項目引用 113 7.2.3 編寫并運行單元測試 115 7.2.4 隔離組件以進行單元測試 116 7.3 改進單元測試 123 7.3.1 參數(shù)化單元測試 123 7.3.2 改進假的實現(xiàn) 126 7.4 小結(jié) 129 第8章 SportsStore應用程序 130 8.1 準備開始 130 8.1.1 創(chuàng)建MVC項目 130 8.1.2 創(chuàng)建單元測試項目 133 8.1.3 測試和啟動應用程序 134 8.2 開始領域模型開發(fā) 134 8.2.1 創(chuàng)建存儲庫 135 8.2.2 創(chuàng)建虛擬存儲庫 135 8.2.3 注冊存儲庫服務 136 8.3 顯示產(chǎn)品清單 137 8.3.1 添加一個控制器 137 8.3.2 添加并配置視圖 138 8.3.3 設置默認路由 139 8.3.4 運行應用程序 140 8.4 準備數(shù)據(jù)庫 140 8.4.1 安裝Entity Framework Core 工具包 141 8.4.2 創(chuàng)建數(shù)據(jù)庫類 141 8.4.3 創(chuàng)建存儲庫類 142 8.4.4 定義連接字符串 142 8.4.5 配置應用程序 143 8.4.6 創(chuàng)建數(shù)據(jù)庫遷移 145 8.4.7 創(chuàng)建種子數(shù)據(jù) 145 8.5 添加分頁 148 8.5.1 顯示頁面鏈接 149 8.5.2 改進URL 155 8.6 更改內(nèi)容樣式 157 8.6.1 安裝Bootstrap包 157 8.6.2 將Bootstrap樣式應用于布局 157 8.6.3 創(chuàng)建分部視圖 159 8.7 小結(jié) 160 第9章 SportsStore的導航 161 9.1 添加導航控件 161 9.1.1 過濾產(chǎn)品列表 161 9.1.2 優(yōu)化URL結(jié)構(gòu) 164 9.1.3 構(gòu)建類別導航菜單 167 9.1.4 更正頁數(shù) 172 9.2 構(gòu)建購物車 174 9.2.1 定義購物車模型 174 9.2.2 添加Add To Cart按鈕 177 9.2.3 啟用會話 179 9.2.4 實現(xiàn)Cart控制器 180 9.2.5 顯示購物車的內(nèi)容 181 9.3 小結(jié) 183 第 10章 完成購物車 184 10.1 使用服務優(yōu)化購物車模型 184 10.1.1 創(chuàng)建支持存儲感知的Cart類 184 10.1.2 注冊服務 185 10.1.3 簡化Cart控制器 185 10.2 完成購物車功能 186 10.2.1 從購物車中刪除商品 186 10.2.2 添加購物車摘要小部件 188 10.3 提交訂單 190 10.3.1 創(chuàng)建模型類 190 10.3.2 添加結(jié)賬流程 191 10.3.3 實現(xiàn)訂單處理 193 10.3.4 完成Order控制器 195 10.3.5 顯示驗證錯誤 198 10.3.6 顯示摘要頁面 199 10.4 小結(jié) 199 第 11章 SportsStore的管理 200 11.1 管理訂單 200 11.1.1 增強模型 200 11.1.2 添加操作方法和視圖 201 11.2 添加目錄管理 203 11.2.1 創(chuàng)建CRUD控制器 203 11.2.2 實現(xiàn)列表視圖 205 11.2.3 編輯商品 206 11.2.4 創(chuàng)建新的商品 216 11.2.5 刪除商品 217 11.3 小結(jié) 220 第 12章 SportsStore的安全和部署 221 12.1 保護管理功能 221 12.1.1 創(chuàng)建身份標識數(shù)據(jù)庫 221 12.1.2 應用基本授權(quán)策略 224 12.1.3 創(chuàng)建賬戶控制器和視圖 226 12.1.4 測試安全策略 229 12.2 部署應用程序 229 12.2.1 創(chuàng)建數(shù)據(jù)庫 230 12.2.2 準備應用程序 231 12.2.3 應用數(shù)據(jù)庫遷移 234 12.2.4 管理數(shù)據(jù)庫填充 234 12.2.5 部署應用程序 237 12.3 小結(jié) 239 第 13章 使用Visual Studio Code 240 13.1 設置開發(fā)環(huán)境 240 13.1.1 安裝Node.js 240 13.1.2 檢查Node.js安裝狀態(tài) 241 13.1.3 安裝Git 241 13.1.4 檢查Git安裝狀態(tài) 241 13.1.5 安裝Bower 241 13.1.6 安裝.NET Core 242 13.1.7 檢查.NET Core安裝狀態(tài) 242 13.1.8 安裝Visual Studio Code 242 13.1.9 檢查Visual Studio Code安裝 狀態(tài) 243 13.1.10 安裝Visual Studio Code的 C#擴展 243 13.2 創(chuàng)建ASP.NET Code項目 244 13.3 使用Visual Studio Code準備項目 244 13.3.1 管理客戶端軟件包 245 13.3.2 配置應用程序 246 13.3.3 構(gòu)建和運行項目 246 13.4 重新創(chuàng)建PartyInvites應用程序 246 13.4.1 創(chuàng)建模型和存儲庫 247 13.4.2 創(chuàng)建數(shù)據(jù)庫 249 13.4.3 創(chuàng)建控制器和視圖 250 13.5 Visual Studio Code中的單元測試 254 13.5.1 創(chuàng)建單元測試 254 13.5.2 運行測試 255 13.6 小結(jié) 255 第二部分 ASP.NET Core MVC詳解 第 14章 配置應用程序 257 14.1 準備示例項目 257 14.2 配置項目 259 14.2.1 將包添加到項目中 259 14.2.2 將工具包添加到項目中 261 14.3 理解Program類 261 14.4 了解Startup類 264 14.4.1 了解ASP.NET服務 266 14.4.2 了解ASP.NET中間件 268 14.4.3 了解如何調(diào)用Configure方法 275 14.4.4 添加其他中間件 278 14.5 配置應用程序 281 14.5.1 創(chuàng)建JSON配置文件 283 14.5.2 使用配置數(shù)據(jù) 284 14.5.3 配置日志記錄 285 14.5.4 配置依賴注入 288 14.6 配置MVC服務 289 14.7 處理復雜配置 290 14.7.1 創(chuàng)建不同的外部配置文件 290 14.7.2 創(chuàng)建不同的配置方法 292 14.7.3 創(chuàng)建不同的配置類 293 14.8 小結(jié) 294 第 15章 URL路由 295 15.1 準備示例項目 295 15.1.1 創(chuàng)建模型類 296 15.1.2 創(chuàng)建Example控制器 296 15.1.3 創(chuàng)建視圖 298 15.2 介紹URL模式 299 15.3 創(chuàng)建和注冊簡單路由 299 15.4 定義默認值 300 15.5 使用靜態(tài)URL片段 303 15.6 定義自定義片段變量 306 15.6.1 使用自定義片段變量作為 操作方法的參數(shù) 308 15.6.2 定義可選的URL片段 309 15.6.3 定義可變長度路由 311 15.7 約束路由 312 15.7.1 使用正則表達式約束路由 314 15.7.2 使用類型和值約束 316 15.7.3 組合約束 316 15.7.4 定義自定義約束 318 15.8 使用特性路由 320 15.8.1 準備特性路由 320 15.8.2 應用特性路由 321 15.8.3 應用路由約束 323 15.9 小結(jié) 323 第 16章 高級路由特性 324 16.1 準備示例項目 324 16.2 在視圖中生成傳出的URL 325 16.2.1 創(chuàng)建傳出的鏈接 326 16.2.2 創(chuàng)建非鏈接的URL 333 16.3 自定義路由系統(tǒng) 334 16.3.1 更改路由系統(tǒng)配置 335 16.3.2 創(chuàng)建自定義路由類 336 16.4 使用區(qū)域 344 16.4.1 創(chuàng)建區(qū)域 344 16.4.2 創(chuàng)建區(qū)域路由 345 16.4.3 填充區(qū)域 346 16.4.4 生成區(qū)域中指向操作的鏈接 347 16.5 URL模式最佳實踐 348 16.5.1 保持URL的整潔性 348 16.5.2 GET方法和POST方法: 選擇最合適的方法 349 16.6 小結(jié) 349 第 17章 控制器和操作 350 17.1 準備示例項目 350 17.2 理解控制器 353 17.3 創(chuàng)建控制器 353 17.3.1 創(chuàng)建POCO控制器 353 17.3.2 使用控制器基類 355 17.4 接收上下文數(shù)據(jù) 355 17.4.1 從Context對象中接收數(shù)據(jù) 356 17.4.2 使用操作方法參數(shù) 359 17.5 生成響應 360 17.5.1 使用Context對象生成響應 360 17.5.2 理解操作結(jié)果 361 17.5.3 生成HTML響應 362 17.5.4 執(zhí)行重定向 369 17.5.5 返回不同類型的內(nèi)容 374 17.5.6 響應文件的內(nèi)容 376 17.5.7 返回錯誤和HTTP狀態(tài)碼 377 17.5.8 理解其他操作結(jié)果類 378 17.6 小結(jié) 378 第 18章 依賴注入 379 18.1 準備示例項目 379 18.1.1 創(chuàng)建模型和存儲庫 380 18.1.2 創(chuàng)建控制器和視圖 381 18.1.3 創(chuàng)建單元測試項目 383 18.2 創(chuàng)建松散耦合的組件 383 18.3 ASP.NET的依賴注入 387 18.3.1 準備依賴注入 388 18.3.2 配置服務提供者 389 18.3.3 對具有依賴項的控制器進行 單元測試 390 18.3.4 使用依賴關系鏈 390 18.3.5 對具體類型使用依賴注入 393 18.4 服務的生命周期 394 18.4.1 使用瞬態(tài)生命周期 395 18.4.2 使用作用域的生命周期 398 18.4.3 使用單例生命周期 399 18.5 使用操作注入 400 18.6 使用屬性注入特性 401 18.7 手動請求實現(xiàn)對象 401 18.8 小結(jié) 402 第 19章 過濾器 403 19.1 準備示例項目 403 19.1.1 啟用SSL 404 19.1.2 創(chuàng)建控制器和視圖 404 19.2 使用過濾器 405 19.3 實現(xiàn)過濾器 408 19.4 使用授權(quán)過濾器 409 19.5 使用操作過濾器 412 19.5.1 創(chuàng)建操作過濾器 412 19.5.2 創(chuàng)建異步操作過濾器 414 19.6 使用結(jié)果過濾器 414 19.6.1 創(chuàng)建結(jié)果過濾器 415 19.6.2 創(chuàng)建異步結(jié)果過濾器 416 19.6.3 創(chuàng)建混合操作/結(jié)果過濾器 417 19.7 使用異常過濾器 419 19.8 為過濾器使用依賴注入 421 19.8.1 解決過濾器依賴項 421 19.8.2 管理過濾器的生命周期 424 19.9 創(chuàng)建全局過濾器 426 19.10 理解和更改過濾器的執(zhí)行順序 428 19.11 小結(jié) 430 第 20章 API控制器 431 20.1 準備示例項目 431 20.1.1 創(chuàng)建模型和存儲庫 431 20.1.2 創(chuàng)建控制器和視圖 433 20.2 REST控制器的作用 435 20.2.1 速度問題 435 20.2.2 效率問題 436 20.2.3 開放性問題 436 20.3 REST和API控制器 436 20.3.1 創(chuàng)建API控制器 437 20.3.2 測試API控制器 440 20.3.3 在瀏覽器中使用API控制器 443 20.4 內(nèi)容格式 445 20.4.1 默認內(nèi)容策略 445 20.4.2 內(nèi)容協(xié)商 446 20.4.3 指定action數(shù)據(jù)格式 448 20.4.4 從路由或查詢字符串獲取 數(shù)據(jù)格式 449 20.4.5 啟用完成內(nèi)容協(xié)商 450 20.4.6 接收不同的數(shù)據(jù)格式 451 20.5 小結(jié) 452 第 21章 視圖 453 21.1 準備示例項目 453 21.2 創(chuàng)建自定義視圖引擎 454 21.2.1 創(chuàng)建自定義IView 456 21.2.2 創(chuàng)建IViewEngine實現(xiàn) 456 21.2.3 注冊自定義視圖引擎 457 21.2.4 測試視圖引擎 458 21.3 使用Razor引擎 459 21.3.1 準備示例項目 459 21.3.2 Razor視圖 461 21.4 將動態(tài)內(nèi)容添加到Razor視圖中 463 21.4.1 使用布局部分 464 21.4.2 使用分部視圖 468 21.4.3 將JSON內(nèi)容添加到視圖中 469 21.5 配置Razor 471 21.6 小結(jié) 475 第 22章 視圖組件 476 22.1 準備示例項目 476 22.1.1 創(chuàng)建模型和存儲庫 476 22.1.2 創(chuàng)建控制器和視圖 478 22.1.3 配置應用程序 480 22.2 視圖組件 481 22.3 創(chuàng)建視圖組件 481 22.3.1 創(chuàng)建POCO視圖組件 482 22.3.2 從ViewComponent基類派生 483 22.3.3 視圖組件結(jié)果 484 22.3.4 獲取上下文數(shù)據(jù) 487 22.3.5 創(chuàng)建異步視圖組件 491 22.4 創(chuàng)建混合的控制器/視圖組件類 493 22.4.1 創(chuàng)建混合視圖 493 22.4.2 應用混合類 495 22.5 小結(jié) 495 第 23章 標簽助手 496 23.1 準備示例項目 496 23.1.1 創(chuàng)建模型和存儲庫 496 23.1.2 創(chuàng)建控制器、布局與視圖 497 23.1.3 配置應用程序 499 23.2 創(chuàng)建標簽助手 500 23.2.1 定義標簽助手類 501 23.2.2 注冊標簽助手 503 23.2.3 使用標簽助手 503 23.2.4 管理標簽助手的作用域 505 23.3 高級標簽助手特性 508 23.3.1 創(chuàng)建縮寫元素 508 23.3.2 前置和追加內(nèi)容與元素 510 23.3.3 使用依賴注入獲取視圖 上下文數(shù)據(jù) 512 23.3.4 使用視圖模型 514 23.3.5 協(xié)調(diào)標簽助手 516 23.3.6 抑制輸出元素 517 23.4 小結(jié) 518 第 24章 使用表單標簽助手 519 24.1 準備示例項目 519 24.2 使用form元素 521 24.2.1 設置form目標 521 24.2.2 使用防偽特性 522 24.3 使用input元素 524 24.3.1 配置input元素 524 24.3.2 格式化數(shù)據(jù) 526 24.4 使用label元素 528 24.5 使用select和option元素 529 24.5.1 使用數(shù)據(jù)源填充select元素 530 24.5.2 從枚舉中生成option元素 531 24.6 使用textarea元素 535 24.7 驗證表單標簽助手 536 24.8 小結(jié) 536 第 25章 使用其他內(nèi)置標簽助手 537 25.1 準備示例項目 537 25.2 使用宿主環(huán)境標簽助手 538 25.3 使用JavaScript和CSS標簽助手 539 25.3.1 管理JavaScript文件 539 25.3.2 管理CSS樣式表 545 25.4 使用超鏈接元素 547 25.5 使用圖像元素 548 25.6 使用數(shù)據(jù)緩存 549 25.6.1 設置緩存過期時間 551 25.6.2 使用緩存變體 552 25.7 小結(jié) 555 第 26章 模型綁定 556 26.1 準備示例項目 556 26.1.1 創(chuàng)建模型和存儲庫 556 26.1.2 創(chuàng)建控制器和視圖 558 26.1.3 配置應用 559 26.2 理解模型綁定 560 26.2.1 默認綁定值 561 26.2.2 綁定簡單值 562 26.2.3 綁定復雜類型 562 26.2.4 綁定數(shù)組和集合 570 26.3 指定模型綁定源 575 26.3.1 選擇標準綁定源 576 26.3.2 使用請求頭作為綁定源 577 26.3.3 使用請求體作為綁定源 579 26.4 小結(jié) 581 第 27章 模型驗證 582 27.1 準備示例項目 582 27.1.1 創(chuàng)建模型 583 27.1.2 創(chuàng)建控制器 583 27.1.3 創(chuàng)建布局和視圖 584 27.2 理解模型驗證的需求 586 27.3 顯式地驗證模型 586 27.3.1 為用戶顯示驗證錯誤消息 588 27.3.2 顯示驗證消息 589 27.3.3 顯示屬性級驗證消息 592 27.3.4 顯示模型級驗證消息 593 27.4 使用元數(shù)據(jù)指定驗證規(guī)則 595 27.5 執(zhí)行客戶端驗證 599 27.6 執(zhí)行遠程驗證 601 27.7 小結(jié) 603 第 28章 ASP.NET Core Identity 入門 604 28.1 準備示例項目 604 28.2 設置ASP.NET Core Identity 607 28.2.1 創(chuàng)建用戶類 607 28.2.2 創(chuàng)建數(shù)據(jù)庫上下文類 608 28.2.3 配置數(shù)據(jù)庫連接串 608 28.2.4 創(chuàng)建ASP.NET Core Identity 數(shù)據(jù)庫 610 28.3 使用ASP.NET Core Identity 610 28.3.1 列舉用戶賬戶 610 28.3.2 創(chuàng)建用戶 612 28.3.3 驗證密碼 615 28.3.4 驗證用戶詳情 620 28.4 完成管理功能 624 28.4.1 實現(xiàn)刪除功能 625 28.4.2 實現(xiàn)編輯功能 626 28.5 小結(jié) 629 第 29章 應用ASP.NET Core Identity 630 29.1 準備示例項目 630 29.2 驗證用戶 630 29.2.1 準備實現(xiàn)驗證 632 29.2.2 添加用戶驗證 634 29.2.3 測試驗證 636 29.3 使用角色授權(quán)用戶 636 29.3.1 創(chuàng)建與刪除角色 637 29.3.2 管理角色成員 641 29.3.3 使用角色進行授權(quán) 644 29.4 播種數(shù)據(jù)庫 647 29.5 小結(jié) 650 第30章 ASP.NET Core Identity 進階 651 30.1 準備示例項目 651 30.2 添加自定義用戶屬性 652 30.2.1 準備數(shù)據(jù)庫遷移 654 30.2.2 測試自定義屬性 655 30.3 使用聲明和策略 655 30.3.1 聲明 656 30.3.2 創(chuàng)建聲明 659 30.3.3 使用策略 661 30.3.4 使用策略對資源授權(quán)訪問 666 30.4 使用第三方驗證 670 30.4.1 注冊Google應用 670 30.4.2 啟用Google驗證 671 30.5 小結(jié) 674 第31章 模型約定與操作約束 675 31.1 準備示例項目 675 31.2 使用應用程序模型和模型約定 677 31.2.1 理解應用程序模型 678 31.2.2 理解模型約定角色 680 31.2.3 創(chuàng)建模型約定 680 31.2.4 理解模型約定的執(zhí)行順序 684 31.2.5 創(chuàng)建全局模型約定 685 31.3 使用操作約束 686 31.3.1 準備示例項目 687 31.3.2 操作約束的作用 688 31.3.3 創(chuàng)建操作約束 689 31.3.4 在操作約束中處理依賴 692 31.4 小結(jié) 694
你還可能感興趣
我要評論
|