我正在编写一个自定义授权,我已经让当前用户登录,但我想检查StaffBranch
模型中的当前用户分支ID。这就是代码。
if (BranchId != null)
{
var userId = _userManager.GetUserId(context.User);
var getuserstationid = _context.StaffBranch.Select(x => x.StationId);
}
我想获取当前用户的staffbranchid。
不确定你的模式设计是什么,你是如何自定义授权的,但你说你已经得到了当前用户。因此,您可以找到当前用户id,然后包括相关模型StaffBranch
以获得staffbranchid
。
这是一个完整的工作演示:
型号:
public class ApplicationUser : IdentityUser
{
public StaffBranch StaffBranch { get; set; }
}
public class StaffBranch
{
public int StaffBranchId { get; set; }
public int StationId { get; set; }
}
ApplicationDbContext:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(DbContextOptions options) : base(options) { }
public StaffBranch StaffBranch { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
}
获取员工分支ID:
var userId = _userManager.GetUserId(context.User);
var BranchId = _context.Users
.Include(a => a.StaffBranch)
.Where(u => u.Id == userId)
.Select(a => a.StaffBranch.StaffBranchId)
.FirstOrDefault();