我正在研究asp.net核心,我不了解一些事情 . 例如,在mvc.net 5中,我们可以使用AuthorizeAttribute中的create class过滤和授权操作,并将属性设置为这样的操作:
public class AdminAuthorize : AuthorizeAttribute {
public override void OnAuthorization(AuthorizationContext filterContext) {
base.OnAuthorization(filterContext);
if (filterContext.Result is HttpUnauthorizedResult)
filterContext.Result = new RedirectResult("/Admin/Account/Login");
}
}
但是在asp.net核心中我们没有AuthorizeAttribute ...如何在asp.net核心中为自定义操作设置这样的过滤器?
1 回答
您可以使用身份验证中间件和
Authorize
attirbute重定向登录页面 . 对于你的情况也使用AuthenticationScheme
似乎是合理的 .首次使用(我假设您要使用cookie中间件)cookie身份验证中间件:
然后在此方案中使用
Authorize
属性:另一种选择是使用UseWhen来分离管理员和默认身份验证:
然后只使用
Authorize
属性 .