我遵循了Microsoft撰写的精彩教程,内容涉及如何使用Core 2.2(https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/?view=aspnetcore-2.2)创建MVC Web应用程序。完成本教程后,我可以使用其他产品来构建类似的Web应用程序。为简单起见,我将坚持使用本教程中的“ Movie App”示例来提出我的问题。
下面是创建的基本CRUD应用程序的视图。
我想为Web应用程序提供一些基本的安全性。到目前为止,我一直无法找到满足以下需求的解决方案:
我发现的大部分选项是企业级别的,目前超出了我的技能水平,或者要求每个人都是用户。如果我是唯一的用户,是否可以轻松创建一个用户帐户,也许还可以创建第二个因素(例如IP锁定)?如果不是这样,我是否有更好的方法来解决这个问题?
答案 0 :(得分:0)
好的,您需要实现的一件事是“某种”安全性/登录-这样应用程序就知道“某人”已经登录。在您的情况下,它需要知道“您”已经登录。您必须实现某种基本的身份验证机制,以便知道用户的“身份”。您可以看一下基本的cookie authentication here。您不需要实施任何主要的索赔系统-简单的身份验证就足够了(对于您的非生产/学习场景)。
一旦实现了某种身份验证/登录系统,成功登录(身份验证)后,系统就会知道“用户”已通过身份验证。然后,在Razor代码中,您可以简单地检查这种情况,然后删除未授权人员的链接,并在控制器上可以添加“ Authorize”属性,以便后端代码也可以检查经过身份验证的用户的相关功能。 例如:在Razor代码中,您可以包括指向“编辑/删除”等的条件链接,例如:
@if(User.Identity.IsAuthenticated)
{
//Include links for Edit / Delete
}
您可以在相关控制器上包含[Authorize]属性,在相关方法上包含[AllowAnonymous]。
希望这会有所帮助。无法逃避一些基本的理解和工作。