使 AuthorizationHandler 接受两种资源而不是一种
make AuthorizationHandler accept two resources instead of one
我已经在 asp.net razorpages 中完成了本授权教程。
我有多个模型,很想允许 Adminhandler 访问所有模型。本教程的结构使用名为 AuthorizationHandler 的 C# 接口。
本质上它只接受一种资源。我不是 C# 的高手。所以我所做的是复制 AuthorizationHandler class 的代码来实现我自己的 class,它接受多个资源。
这是我目前所拥有的。我承认我不是工具箱中最锋利的钉子,现在被困在将什么编码到 HandleAsync 和 HandleRequirementAsync 主体中。
如果我的问题听起来很愚蠢,请原谅我,但我在创建自定义界面方面经验丰富。
使用System.Diagnostics;
使用 System.Threading.Tasks;
命名空间Microsoft.AspNetCore.Authorization
{
public abstract class AuthorizationHandler<TRequirement, T1, T2> : IAuthorizationHandler where TRequirement : IAuthorizationRequirement
{
protected AuthorizationHandler();
[DebuggerStepThrough]
public virtual Task HandleAsync(AuthorizationHandlerContext context);
protected abstract Task HandleRequirementAsync(AuthorizationHandlerContext context, TRequirement requirement, T1 first, T2 second);
}
}
I have multiple models and would love to allow the Adminhandler to have access to all of the models. The tutorial is structured in a way which uses the C# interface called AuthorizationHandler.
这个已经在AuthorizationHandler
中实现了,只需要实现HandleAsync
方法,就可以得到你在AuthorizationHandlerContext
.
中添加的所有需求
public Task HandleAsync(AuthorizationHandlerContext context)
{
var requirements = context.PendingRequirements.ToList();
return Task.CompletedTask;
}
更多详细信息,请参阅文档:Use a handler for multiple requirements
我已经在 asp.net razorpages 中完成了本授权教程。
我有多个模型,很想允许 Adminhandler 访问所有模型。本教程的结构使用名为 AuthorizationHandler 的 C# 接口。
本质上它只接受一种资源。我不是 C# 的高手。所以我所做的是复制 AuthorizationHandler class 的代码来实现我自己的 class,它接受多个资源。
这是我目前所拥有的。我承认我不是工具箱中最锋利的钉子,现在被困在将什么编码到 HandleAsync 和 HandleRequirementAsync 主体中。 如果我的问题听起来很愚蠢,请原谅我,但我在创建自定义界面方面经验丰富。
使用System.Diagnostics; 使用 System.Threading.Tasks;
命名空间Microsoft.AspNetCore.Authorization {
public abstract class AuthorizationHandler<TRequirement, T1, T2> : IAuthorizationHandler where TRequirement : IAuthorizationRequirement
{
protected AuthorizationHandler();
[DebuggerStepThrough]
public virtual Task HandleAsync(AuthorizationHandlerContext context);
protected abstract Task HandleRequirementAsync(AuthorizationHandlerContext context, TRequirement requirement, T1 first, T2 second);
}
}
I have multiple models and would love to allow the Adminhandler to have access to all of the models. The tutorial is structured in a way which uses the C# interface called AuthorizationHandler.
这个已经在AuthorizationHandler
中实现了,只需要实现HandleAsync
方法,就可以得到你在AuthorizationHandlerContext
.
public Task HandleAsync(AuthorizationHandlerContext context)
{
var requirements = context.PendingRequirements.ToList();
return Task.CompletedTask;
}
更多详细信息,请参阅文档:Use a handler for multiple requirements