簡體   English   中英

如何在ASP.net Core 2.2中為我的CRUD Web應用程序實現基本安全性?

[英]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應用程序的視圖。

CRUD的屏幕截圖

我想為Web應用程序提供一些基本的安全性。 到目前為止,我一直無法找到滿足我以下需求的解決方案:

  • 簡單。 只有一個需要任何特權的用戶,就是我。 這些特權將充分利用CRUD功能(我是唯一可以單擊上圖中的任何藍色鏈接的人)。
  • 無需公開登錄。 我希望訪問的任何人都能夠從搜索框中進行查詢(未顯示在圖片中)並查看結果。 我只是不希望他們能夠進行任何更改。
  • 不必花太多時間在安全性上,這樣我就可以在更適合新開發人員的領域繼續學習。

我發現的大多數選擇都是企業級的,目前超出了我的技能水平,或者要求每個人都成為用戶。 如果我是唯一的用戶,是否可以輕松創建一個用戶帳戶,也許還可以創建第二個因素(例如IP鎖定)? 如果不是,我有更好的方法來解決這個問題嗎?

好的,您要實現的一件事是“某種”安全性/登錄-這樣應用程序就知道“某人”已經登錄。在您的情況下,它需要知道“您”已經登錄。因此,您必須實現某種基本的身份驗證機制,以便知道用戶的“身份”。 您可以在此處查看基本的cookie身份驗證 您不需要實施任何主要的索賠系統-簡單的身份驗證就足夠了(對於您的非生產/學習場景)。

一旦實施了某種身份驗證/登錄系統,成功登錄(身份驗證)后,系統就會知道“用戶”已通過身份驗證。 然后,在Razor代碼中,您可以簡單地檢查這種情況,然后刪除未授權人員的鏈接,並在控制器上可以添加“ Authorize”屬性,以便后端代碼也可以檢查經過身份驗證的用戶的相關功能。 例如:在Razor代碼中,您可以包括條件鏈接以編輯/刪除等,如下所示:

@if(User.Identity.IsAuthenticated) 
{
    //Include links for Edit / Delete
}

您可以在相關控制器上包含[Authorize]屬性,在相關方法上包含[AllowAnonymous]。

希望這可以幫助。 沒有逃脫一些基本的理解和工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM