【问题标题】:Associating Data with authenticated user in ASP.NET MVC optimization在 ASP.NET MVC 优化中将数据与经过身份验证的用户相关联
【发布时间】:2015-06-10 04:21:01
【问题描述】:

我将 ASP.NET WebAPI 与 Visual Studio 模板附带的内置身份验证和身份服务一起使用。我现在有了它,用户可以访问系统并进行身份验证。

下一个合乎逻辑的步骤是允许用户创建记录。假设用户可以拥有一个“项目”。如何在创建项目时将用户与项目相关联?项目表将只存储 User.Identity.GetUserId() 提供的user_id 似乎是合乎逻辑的。

现在,假设一个项目由任务组成。默认情况下,WebAPI 将创建一个任务控制器,我在其中发布一个任务。我想我需要在创建任务时注入一些额外的信息(例如项目 ID)。

但是,假设有人想将任务添加到不属于他们的项目中。我需要通过加载项目并检查user_id 字段来验证这一点。现在我正在向我的控制器添加两个存储库。这似乎需要做很多工作。

是我自己的懒惰让这看起来很难吗???

【问题讨论】:

    标签: asp.net-mvc authentication asp.net-web-api controller asp.net-identity


    【解决方案1】:

    我认为这可能是一个相关问题,因为您似乎正在寻找记录级授权。

    MVC / ASP.Net Best Practice for Record-Level Authorization

    使用多个存储库也有好处。有关使用示例,请参见此处。

    http://www.asp.net/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application

    在这里,您可以将多个存储库包装在 UnitOfWork 类中。

    我希望这会为您指明正确的方向。

    【讨论】:

      猜你喜欢
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      • 2015-04-20
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      相关资源
      最近更新 更多