在Entity Framework Core中获取当前用户ID的正确方法

礼萨

对于如何获取当前登录用户的ID,ASP.NET Core的不同RC有很多不同的答案。我想在这里问一个明确的问题。请注意,project.json现在具有“ Microsoft.AspNetCore.Identity.EntityFrameworkCore”:“ 1.0.0”

使用RC1,您可以执行以下操作:

using Microsoft.AspNet.Identity;
using System.Security.Claims;

User.GetUserId();

但是,对于新发布的EF Core版本1,Microsoft.AspNet.Identity不是正确的版本。

有使用UserManager的建议,这似乎很多,只是为了获得当前登录的用户:

private Task<ApplicationUser> GetCurrentUserAsync() => _userManager.GetUserAsync(HttpContext.User);

var user = await GetCurrentUserAsync();
var userId = user?.Id;

我发现的另一种方法是:

private readonly UserManager<ApplicationUser> _userManager;
_userManager.GetUserId(User)

因此,对于在project.json中具有以下库的ASP.NET Core 1 RTM和EF Core 1,获取当前登录用户ID的正确方法是什么?

"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",
礼萨

ASP.NET Core Identity通过DI在startup.cs中注入-这样,您只需通过构造函数注入Us​​erManager

UserManager<ApplicationUser> userManager

然后,您可以在方法中使用以下内容

_userManager.GetUserId(User);

当您使用个人用户帐户创建新的ASP.NET Core 1项目时,这就是在示例Web应用程序中使用的方式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Entity Framework Core中获取当前用户ID的正确方法

来自分类Dev

在 Entity Framework Core 中获取具有导航属性的实体的正确方法是什么?

来自分类Dev

Entity Framework Core 中的 SqlGeometry

来自分类Dev

无效的列名Entity Framework Core

来自分类Dev

.NET Core Entity Framework 获取多表

来自分类Dev

如何在Entity Framework Core中正确编写种子方法?

来自分类Dev

在Entity Framework中嵌套嵌套

来自分类Dev

在Entity Framework Core中包括集合

来自分类Dev

Entity Framework Core中的动态查询执行

来自分类Dev

Entity Framework Core 2.1 中的 ReverseEngineeringGenerator

来自分类常见问题

从ID列表更新Entity Framework中的多行

来自分类Dev

插入后在Entity Framework 5中获取记录ID

来自分类Dev

在Entity Framework Core中编写实体POCO类的正确方法是什么?

来自分类Dev

如何通过调用Entity Framework中的方法获取数据

来自分类Dev

与Entity Framework Core一起使用

来自分类Dev

如何设置Entity Framework Core迁移超时?

来自分类Dev

在Entity Framework Core中使用SQL视图

来自分类Dev

原始SQL查询和Entity Framework Core

来自分类Dev

使用Entity Framework Core编写计算成员

来自分类Dev

Entity Framework Core - 多对多“影子查询”

来自分类Dev

Entity Framework core 2.0 Functions 如何工作

来自分类Dev

Entity Framework Core 创建多对多关系

来自分类Dev

安装了哪个版本的 Entity Framework Core?

来自分类Dev

将 DbContext.SaveChanges 异常记录到 Entity Framework/Entity Framework Core 中的数据库

来自分类Dev

从Entity Framework 6中的集合中删除

来自分类Dev

如何模拟Entity Framework 6异步方法?

来自分类Dev

如何模拟Entity Framework 6异步方法?

来自分类Dev

Entity Framework Core Automapper针对特定用户的最新查看项目

来自分类Dev

迁移中的Entity Framework 7复合键

Related 相关文章

  1. 1

    在Entity Framework Core中获取当前用户ID的正确方法

  2. 2

    在 Entity Framework Core 中获取具有导航属性的实体的正确方法是什么?

  3. 3

    Entity Framework Core 中的 SqlGeometry

  4. 4

    无效的列名Entity Framework Core

  5. 5

    .NET Core Entity Framework 获取多表

  6. 6

    如何在Entity Framework Core中正确编写种子方法?

  7. 7

    在Entity Framework中嵌套嵌套

  8. 8

    在Entity Framework Core中包括集合

  9. 9

    Entity Framework Core中的动态查询执行

  10. 10

    Entity Framework Core 2.1 中的 ReverseEngineeringGenerator

  11. 11

    从ID列表更新Entity Framework中的多行

  12. 12

    插入后在Entity Framework 5中获取记录ID

  13. 13

    在Entity Framework Core中编写实体POCO类的正确方法是什么?

  14. 14

    如何通过调用Entity Framework中的方法获取数据

  15. 15

    与Entity Framework Core一起使用

  16. 16

    如何设置Entity Framework Core迁移超时?

  17. 17

    在Entity Framework Core中使用SQL视图

  18. 18

    原始SQL查询和Entity Framework Core

  19. 19

    使用Entity Framework Core编写计算成员

  20. 20

    Entity Framework Core - 多对多“影子查询”

  21. 21

    Entity Framework core 2.0 Functions 如何工作

  22. 22

    Entity Framework Core 创建多对多关系

  23. 23

    安装了哪个版本的 Entity Framework Core?

  24. 24

    将 DbContext.SaveChanges 异常记录到 Entity Framework/Entity Framework Core 中的数据库

  25. 25

    从Entity Framework 6中的集合中删除

  26. 26

    如何模拟Entity Framework 6异步方法?

  27. 27

    如何模拟Entity Framework 6异步方法?

  28. 28

    Entity Framework Core Automapper针对特定用户的最新查看项目

  29. 29

    迁移中的Entity Framework 7复合键

热门标签

归档