我正在开发一个控制器,它允许人们共享更新网站的权限。我正在尝试使用AuthorizationHandler验证当前用户是否有权更新他们正在尝试更新的网站。我当前的请求和AuthorizationHandler public class WebsiteRequirement : IAuthorizationRequirement public}
} internal class WebsiteAuthorizationHandler
我使用授权处理程序将自定义授权放入.net核心的控制器中。如何从控制器获取参数并将其用于授权处理程序?在旧的.NET中,我可以从HttpContext请求参数中获得参数,如下所示: var eventId = filterContext.RequestContext.HttpContext.Request.Params["id"]; 我不知道如何在.net核心中实现它 public class HasAdminRoleFromAny
对于控制器上的所有操作,我想要求一个策略,我还想为所有对HTTP“编辑方法”的调用(POST、PUT、修补程序和DELETE)要求第二个策略。也就是说,编辑方法应该同时要求这两个策略。由于实现需求,以及保持代码干燥的愿望,我需要在控制器级别应用后一种策略,而不是在所有操作方法上重复。您不能在自定义AuthorizationHandler中访问请求,所以我不能检查HttpMethod来检查它。我尝试使用自定义需求和AuthorizationHandler来处理前者,如下所示:
public
在AuthorizationHandler Core3.0之前重定向到.Net内部时,我可以使用:
if (context.Resource is AuthorizationFilterContext那么,我的问题是,可以从AuthorizationHandler重定向吗?还是完全删除?我可以使用的一个解决方案是通过HttpContext.Items中的HttpContextAccessor将一些数据存储在AuthorizationHandler中,然后根据这些数据进行重定向。如果我的<