【发布时间】:2017-06-02 02:26:08
【问题描述】:
我正在使用向第三方服务发出 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 所以我也不能使用它...
想法? 谢谢。
【问题讨论】:
标签: asp.net-core authorization asp.net-core-mvc asp.net-core-middleware