Để thêm vào câu trả lời hữu ích Shashi của ...
Nếu bạn đang ở trong tài khoản bộ điều khiển bạn có thể sử dụng UserManager hiện tại:
var user = await UserManager.FindByNameAsync(userName);
var userId = user.Id;
Trong bộ điều khiển khác s (và có thể chọn những nơi khác, nơi HttpContext có sẵn), bạn tạo ra một quản lý người dùng với:
var um = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
Nhưng những gì nó đã cho tôi một thời gian để nhận ra là bạn có thể nhận được vào nó chỉ là về bất cứ nơi nào với bit cuối cùng này. Ví dụ tôi đã sử dụng nó trong phương thức hạt giống của tôi (trong Configuration.cs) vì vậy tôi có thể gieo rắc các tài sản tài của mô hình khác:
var um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(*insert-your-db-context-here*));
Đối với vấn đề này, tôi thực sự trong một bộ điều khiển khác - không phải là bộ điều khiển tài khoản. Làm thế nào để bạn có được bối cảnh quản lý người dùng từ một bộ điều khiển khác? –