我需要限制对用户授权的表'Case'
中的那些记录的访问权限。我创建了一个表'CaseUser'
,用于存储用户ID和caseid
以解决n-m关系。
我创建了一个ViewRequirement
课程,并将其作为单身人士添加到ConfigureServices
的{{1}}。
以下我创建了以下AuthorizationHandler:
Startup.cs
我收到了错误
Field' CaseViewHandler._context'从未分配给,并且将始终具有其默认值null
如何注入public class CaseViewHandler : AuthorizationHandler<ViewRequirement, Case>
{
private readonly ApplicationDbContext _context;
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ViewRequirement requirement, Case resource)
{
var caseUsers = from c in _context.CaseUser
.Where(t => t.CaseId == resource.CaseId || t.UserId == context.User.FindFirst(ClaimTypes.Name).Value)
select c;
if(caseUsers != null)
{
context.Succeed(requirement);
}
return Task.CompletedTask;
}
}
类并在CaseUser
?