这几天在学习张老师.net core教程JWT部分,链接 https://mp.weixin.qq.com/s/7135y3MkUlPIp-flfwscig

教程使用的.net core 2.2, 在抄代码的时候,我创建的.net core 3.1,所以startup.cs 的Conifg中,app.UseMvc();不再适用,所以我进行了一些修改,参考链接   https://www.cnblogs.com/tianma3798/p/11909293.html

原代码

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
} //app.UseMiddleware<JwtTokenAuth>(); app.UseAuthentication(); app.UseMvc();
}

修改后

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
} app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller}/{action=Index}/{id?}"); }); //app.UseMiddleware<JwtTokenAuth>(); app.UseAuthentication(); //app.UseMvc();
}

然而 Controller中 _accessor.HttpContext.User  和User一直未null,困扰了我好久,也找了很多方法都没解决。

最后找到了这个https://blog.csdn.net/laidanchao/article/details/111179462,说了app.UserAuthtication的顺序问题,试了下果然解决了问题,但也不全对,回到教程,张老师其实有提到

注意1:HTTP管道是有先后顺序的,一定要写在 app.Mvc() 之前,否则不起作用。

然而因为升级到3.1,我把这行注释了,而且没有注意到UserAuthtication的顺序,导致认证失败,最后是吧UserAuthtication放在UseEndpoints前面得以解决问题。

最新文章

  1. 扩展方法(C#)
  2. string.empty和null的区别
  3. 初探Asp.net5
  4. mysql 大数据量的处理
  5. hdu 2988 Dark roads
  6. discuz分类信息地区联动菜单字段
  7. ADB not responding. You can wait more,or kill"abd.exe" process manually and click 'Restart'
  8. hdu 4614 pieces 状态DP
  9. GrepCode
  10. View绘制详解(四),谝一谝layout过程
  11. [FTP] FTPClient--FTP操作帮助类,上传下载,文件,目录操作 (转载)
  12. 微信小程序框架探究和解析
  13. logback KafkaAppender 写入Kafka队列,集中日志输出.
  14. Python3 字典
  15. pyspark如何遍历broadcast
  16. css3新特性合集
  17. 20175209 《Java程序设计》第六周学习总结
  18. Linux:Debian系统的安装
  19. Allegro PCB Design GXL (legacy) 元器件的坐标文件
  20. DOM元素查找

热门文章

  1. 请说出作用域public,private,protected,以及不写时的区别?
  2. Java Concurrency API 中的 Lock 接口(Lock interface) 是什么?对比同步它有什么优势?
  3. java-集合-realdo-集合一对多
  4. 学习Kvm(七)
  5. SCTF 2018_Simple PHP Web
  6. c语言 相关小知识
  7. 什么是pandas
  8. Qunee for HTML5 v1.6新版本发布
  9. SecureCRT显示连接失败的原因
  10. Android Studio安装及问题