• httpContext.User.Identity.IsAuthenticated 总是为fasle


    验证一直通不过,不知道问题在哪里。这个坑应该只有我自己遇到,记录一下,问题在使用swagger验证的时候出现的(说的很轻松)


    如图所示,在swaager文档中,添加认证功能,此时只要我们填下登陆时获取的token,便能访问到其他接口。如下图填写密钥

    如果密钥没有填对,则对接口有认证的地方进行校验,效验失败则返回如下

    刚开始不知道验证失败的原因在哪里。一直在查阅认证与授权的资料。

    尝试了其他项目,发现都是正常的。(此时头有点大,但不能放弃)

    最后使用了postMan进行调用,发现ok啊。此时联想到swagger密钥填写问题。一切ok。

    填写格式:

    Bearer 密钥
    

    我之前填的是Bearer:密钥

    其他注意事项

    1. 在登陆过程中时候,即使调用了HttpContext.SignInAsync() 方法,通过调试httpContext.AuthenticateAsync() 是获取不到用户登陆任何信息的。必须经历一个完整的页面请求过程。不然也是返回false。

    2. Configrue必须添加 app.UseAuthentication(); 不然也总是返回false。

  • 相关阅读:
    18个Java开源CMS系统一览
    冒泡排序
    数据挖掘十大经典算法
    开源Java CMS建站程序推荐
    Oracle
    Oracle Procedure returning Ref Cursor in Entity Framework 4
    Field_II
    SharePoint Video Library
    ORACLE 导入dmp文件
    System.Diagnostics.Process.Start()。它的作用是调用外部的命令
  • 原文地址:https://www.cnblogs.com/zhan520g/p/11310738.html
Copyright © 2020-2023  润新知