[英]ASP.NET Core 2.2 web app on Ubuntu - how to implement Data Protection
[英]How to implement basic security for my CRUD web app in ASP.net Core 2.2?
我遵循了Microsoft撰寫的精彩教程,內容涉及如何使用Core 2.2創建MVC Web應用程序( https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/?view=aspnetcore-2.2 )。 完成本教程后,我可以使用其他產品來構建類似的Web應用程序。 為簡單起見,我將堅持使用本教程中的“ Movie App”示例來提出我的問題。
下面是創建的基本CRUD應用程序的視圖。
我想為Web應用程序提供一些基本的安全性。 到目前為止,我一直無法找到滿足我以下需求的解決方案:
我發現的大多數選擇都是企業級的,目前超出了我的技能水平,或者要求每個人都成為用戶。 如果我是唯一的用戶,是否可以輕松創建一個用戶帳戶,也許還可以創建第二個因素(例如IP鎖定)? 如果不是,我有更好的方法來解決這個問題嗎?
好的,您要實現的一件事是“某種”安全性/登錄-這樣應用程序就知道“某人”已經登錄。在您的情況下,它需要知道“您”已經登錄。因此,您必須實現某種基本的身份驗證機制,以便知道用戶的“身份”。 您可以在此處查看基本的cookie身份驗證 。 您不需要實施任何主要的索賠系統-簡單的身份驗證就足夠了(對於您的非生產/學習場景)。
一旦實施了某種身份驗證/登錄系統,成功登錄(身份驗證)后,系統就會知道“用戶”已通過身份驗證。 然后,在Razor代碼中,您可以簡單地檢查這種情況,然后刪除未授權人員的鏈接,並在控制器上可以添加“ Authorize”屬性,以便后端代碼也可以檢查經過身份驗證的用戶的相關功能。 例如:在Razor代碼中,您可以包括條件鏈接以編輯/刪除等,如下所示:
@if(User.Identity.IsAuthenticated)
{
//Include links for Edit / Delete
}
您可以在相關控制器上包含[Authorize]屬性,在相關方法上包含[AllowAnonymous]。
希望這可以幫助。 沒有逃脫一些基本的理解和工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.