weixin_39017744
weixin_39017744
采纳率71.1%
2019-05-12 17:16 阅读 479

ASP.NET Web API自带的身份验证怎么能通过?

5

新建项目时选择个人身份验证,添加model后创建Web API2 controller using Entity Framework.生成Controller后添加身份验证,代码如下:

[Authorize]
        // GET: api/Information
        public IQueryable<Information> GetInformations()
        {
            return db.Informations;
        }

用postman发送请求获取信息,选择basic auth,输入已经注册好的username和password并发送。得到回复:"Message": "Authorization has been denied for this request."
请问是哪里做错了吗?
测试post,设置Name默认值为用户ID,只上传Detail的数据。添加用户名和密码并发送post请求,结果无法获取用户ID。
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    roczj 公主的卫兵 2019-05-13 10:08

    首先 ASP.NET 默认不支持 Http Basic Auth,默认支持 Cookie Authentication(ASP.NET Core 基于CookieAuthenticationMiddleware)。
    所以你是否使用的相应的第三方 Basic Auth 并启用或者自己已经写了 Basic Auth 相关的认证模块。

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2019-05-12 17:25

    你需要在http请求头上增加
    Authorization: Basic 后面是你用户名和密码的base64编码

    点赞 评论 复制链接分享
  • weixin_45055155 weixin_45055155 2019-05-12 18:28

    你需要在http请求头上增加
    Authorization: Basic 后面是你用户名和密码的base64编码你需要在http请求头上增加
    Authorization: Basic 后面是你用户名和密码的base64编码

    点赞 评论 复制链接分享

相关推荐