-
ASP.NET Core 安全性概述
- https://docs.microsoft.com/zh-cn/aspnet/core/security/?view=aspnetcore-2.0
通過 ASP.NET Core,開發者可輕松配置和管理其應用的安全性。 ASP.NET Core 的功能包括管理身份驗證、授權、數據保護、HTTPS 強制、應用機密、請求防偽保護及 CORS 管理。 通過這些安全功能,可以生成安全可靠的 ASP.NET Core 應用。
-
ASP.NET Core 安全性功能
ASP.NET Core 提供許多用於保護應用安全的工具和庫(包括內置標識提供程序),但也可使用第三方標識服務(如 Facebook、Twitter 或 LinkedIn)。 利用 ASP.NET Core 可以輕松管理應用機密,無需將機密信息暴露在代碼中就可存儲和使用它們。
-
身份驗證 vs授權
身份驗證是這樣一個過程:由用戶提供憑據,然后將其與存儲在操作系統、數據庫、應用或資源中的憑據進行比較。 在授權過程中,如果憑據匹配,則用戶身份驗證成功,可執行已向其授權的操作。 授權指判斷允許用戶執行的操作的過程。
也可以將身份驗證理解為進入空間(例如服務器、數據庫、應用或資源)的一種方式,而授權是用戶可以對該空間(服務器、數據庫或應用)內的哪些對象執行哪些操作。
-
軟件中的常見漏洞
ASP.NET Core 和 EF 提供維護應用安全、預防安全漏洞的功能。 下表中鏈接的文檔詳細介紹了在 Web 應用中避免最常見安全漏洞的技術:
-
ASP.NET Core文檔:
- https://docs.microsoft.com/zh-cn/aspnet/?view=aspnetcore-3.1#pivot=core&panel=core_overview
-
在 ASP.NET Core 中授權簡介
授權是指確定用戶可執行的操作的過程。 例如,允許管理用戶創建文檔庫、添加文檔、編輯文檔和刪除文檔。 使用庫的非管理用戶僅獲得讀取文檔的權限。
授權與身份驗證相互獨立。 但是,授權需要一種身份驗證機制。 身份驗證是認定用戶的過程。 身份驗證可為當前用戶創建一個或多個標識。
- https://docs.microsoft.com/zh-cn/aspnet/core/security/authorization/introduction?view=aspnetcore-3.1
- 基於角色的授權
- 基於聲明的授權
- Policy
- Middleware
- Custom Attribute
相關資源:Nopcommerce、Orchard項目
-
ASP.NET核心的身份驗證示例
- https://docs.microsoft.com/zh-cn/aspnet/core/security/authentication/?view=aspnetcore-3.1
身份驗證是確定用戶身份的過程。 授權是確定用戶是否有權訪問資源的過程。 在 ASP.NET Core 中,身份驗證由 IAuthenticationService
負責,而它供身份驗證中間件使用。 身份驗證服務會使用已注冊的身份驗證處理程序來完成與身份驗證相關的操作。 與身份驗證相關的操作示例包括:
- 對用戶進行身份驗證。
- 在未經身份驗證的用戶試圖訪問受限資源時作出響應。
ASP.NET核心存儲庫在AspNetCore/src/安全/示例文件夾中包含以下身份驗證示例:
運行示例
- 選擇分支。 例如:
release/3.1
- 克隆或下載ASP.NET核心存儲庫。
- 驗證已安裝與 ASP.NET 核心存儲庫的克隆相匹配的.NET Core SDK版本。
- 導航到AspNetCore/src/Security/示例中的示例,然后使用
dotnet run
運行示例。