webapi ajax token,vue+webapi+jwt做token验证时需要注意的一些问题

本人水平实在很菜,属于百度了代码拿来会用的水平,而jwt做token验证又是绕不过去的,所以硬着头皮也得看着别人的贴弄出来,下面是一定要看的神贴

你只需要看完第4小节就可以了,4、Api中过滤器实现通用token验证

照着他的例子一步一步来就行,基本上可以弄的很成功,我的目录结构如下图

需要注意的地方:

1、验证前端传递的token

例子中使用的是$ajax在前端提交数据,不论是get还是post,它都可以拼接url字符串,但是如果你使用的是Axios来post数据的话,那就无法拼接字符串了,导致按他的例子你在过滤器中获取不到前端传递的token

获取不到就没法验证传递的token,axios的拦截器也不会写,只好用笨办法了,在每一个实体类中都增加了一个token字段,然后在axios提交数据时把它带上,然后在拦截器这里取出来,需要注意的是token区分大小写,不然会出错。

public classUserStr

{public string Token { get; set; }public string User { get; set; }public string QListID { get; set; }

}

修改拦截器中的代码

那上边的user是啥了,就是你自己在使用实体类时起的名字,不管哪个实体类,在用的时候都叫user就行了

2、System.Type.GetProperty(...) 返回 null

如果你的前端在post数据到不同的api时,有些能用,有些不能用返回上面的错误的话,那说明你实体类中定义的token没有区分大小写,可能有些大写了,有些小写了,才会造成这种问题。

还是好好看下axios的拦截器吧,就不会存在这样的问题了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Netcore6.0是微软推出的全新版本的开发框架,它提供了强大且灵活的功能,用于构建Web应用程序和APIWeb API是Netcore6.0中的一项重要功能,它允许我们构建基于HTTP协议的API,并通过JSON格式进行数据交换。 JWT(JSON Web Token)是一种用于在网络应用间传递信息的安全方法。在Netcore6.0中,我们可以使用JWT来实现Web API的授权功能。JWT由三部分组成:头部、载荷和签名。头部包含了令牌的类型和算法,载荷包含了我们想要传递的数据,签名通过使用密钥进行加密来验证令牌的合法性。 在Netcore6.0中,我们可以使用Microsoft提供的Microsoft.AspNetCore.Authentication.JwtBearer包来简单地实现JWT的授权功能。首先,我们需要在Startup.cs文件的ConfigureServices方法中配置JWT的身份验证服务,并指定密钥、颁发者、验证等参数。然后,在Configure方法中启用身份验证中间件和JWT授权中间件。 在Vue3中,我们可以使用Axios库来发送HTTP请求并附带JWT令牌进行授权。Vue3是一种流行的JavaScript框架,用于构建现代化的用户界面。通过Axios,我们可以将JWT令牌添加到请求的Authorization头部中,并在后端接收到请求进行验证。 为了实现Vue3与Netcore6.0的JWT授权,我们首先需要Vue3项目中安装Axios库,并配置请求拦截器,在每个请求发送前将JWT令牌添加到请求头中。后端接收到带有JWT令牌的请求后,使用相同的密钥和算法进行解密并验证令牌的合法性。 综上所述,Netcore6.0的Web APIVue3的JWT授权组合,可以实现安全可靠的API授权。通过合理的配置和使用,我们可以保护API免受未经授权的访问,并确保只有经过身份验证的用户才能访问敏感数据或执行特定操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值