我们有这部分代码来控制一些服务高级页面。对于没有高级会员资格的用户,“拒绝”方法会重定向到升级页面。
\n\n该代码在 asp.NET core 2 上运行完美,但在 asp.NET core 3 上运行失败。 \ncontext.Resource 不再是 AuthorizationFilterContext 类型,但 Endpoint 不提供 Result 成员。
\n\n\xc2\xbf如何使用 asp.Net core 3 上提供的新 Enpoint 进行页面重定向?
\n\npublic Task Deny(AuthorizationHandlerContext context, SubscriptionRequirement requirement)\n {\n var mvcContext = context.Resource as AuthorizationFilterContext;\n if (mvcContext == null)\n return Task.CompletedTask;\n\n mvcContext.Result = new RedirectToActionResult("Upgrade", "Subscription", new { ReturnUrl = _contextAccessor.HttpContext.Request.Path });\n context.Succeed(requirement);\n return Task.CompletedTask;\n }\nRun Code Online (Sandbox Code Playgroud)\n