【发布时间】:2019-07-30 08:20:49
【问题描述】:
在 asp.net Core 2.2 中创建的以下 web api。我已经在其中实现了 ActionFilter。我想在我的操作过滤器中注入存储库以获取详细信息。
- API
// Action Filter
[CheckPermissionFilter("authorization.modules.add")]
public async Task<IActionResult> Post([FromBody]Module module)
{
// API Code
}
- 动作过滤器类
public class CheckPermissionFilter : ActionFilterAttribute
{
private readonly string _permission;
PermissionRepository repository;
public CheckPermissionFilter(string permission)
{
_permission = permission;
}
public async override void OnActionExecuting(ActionExecutingContext context)
{
string userID = "12345678990";
if (!await repository.check("","",_permission))
{
return;
}
}
}
我想将存储库注入到操作过滤器。[CheckPermissionFilter("authorization.modules.add")] 中传递的参数是动态的,即在另一个 api 中它可能是 [CheckPermissionFilter("authorization.modules.update")] 。
【问题讨论】:
标签: c# asp.net-core dependency-injection asp.net-core-webapi