首页 新闻 会员 周边

ASPNETCore mvc 中的 AuthorizeAttribute

0
悬赏园豆:15 [已解决问题] 解决于 2019-05-09 15:12

以前的代码

public class TokenAuth : AuthorizeAttribute
{
/// <summary>
/// 验证
/// </summary>
/// <param name="actionContext"></param>
/// <returns></returns>
protected override bool IsAuthorized(HttpActionContext actionContoext)
{
1.获取Request.QueryString 中para1
2.判断para1合法 返回true,不合法 返回 false
}
}

core 下没有了AuthorizeAttribute, 不知道该怎么写了?

Vancen的主页 Vancen | 初学一级 | 园豆:80
提问于:2018-02-28 14:55
< >
分享
最佳答案
0

有的,只是改成了下面的这样

[Authorize]
public class TokenAuth
{
/// <summary>
/// 验证
/// </summary>
/// <param name="actionContext"></param>
/// <returns></returns>
}

 public class Authorize : ActionFilterAttribute
    {
        public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
          //Do Something
        }
    }
收获园豆:15
BUTTERAPPLE | 老鸟四级 |园豆:3190 | 2018-02-28 15:00

[Authorize] 是已经写的Attribute 里面有自己的一套逻辑。
ActionFilterAttribute 中 OnActionExecuting 方法 还是会执行Action 内容的,之前的 AuthorizeAttribute.IsAuthorized 方法 是可以阻断 执行Action 的。

Vancen | 园豆:80 (初学一级) | 2018-02-28 15:03

@Vancen: 那你可以写Middleware 来进行控制

Middleware 详细可以查看 

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware/?tabs=aspnetcore2x

BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2018-02-28 15:04

@BUTTERAPPLE: 刚才也想了,Middleware 是可以实现的。

Vancen | 园豆:80 (初学一级) | 2018-02-28 15:24
其他回答(2)
0
Timetombs | 园豆:3954 (老鸟四级) | 2019-05-09 17:22
0

如果用Middleware 的话 那么AllowAnonymous特性就不管用了

菜鸡狗 | 园豆:202 (菜鸟二级) | 2022-06-25 18:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册