我正在使用向第三方服务发出 API 请求的身份验证中间件。然后,此中间件设置稍后由 AuthorizationHandler 与 IAuthorizationRequirement 和自定义策略一起处理的声明。
中间件工作,我能够建立索赔:
context.User.AddIdentity(identity); // contains claims
我被卡住的地方是从处理程序或属性重定向到特定的 URL(我们需要重定向的地方有自定义规则)。从我尝试过的处理程序:
var mvcContext = context.Resource as Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext;
mvcContext.Result = new RedirectToActionResult("login", "home", null);
但它被忽略了;只返回 401。AuthorizeAttribute
不再有 OnAuthorization 所以我也不能使用它......
想法?谢谢。