新建项目时选择个人身份验证,添加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。
首先 ASP.NET 默认不支持 Http Basic Auth,默认支持 Cookie Authentication(ASP.NET Core 基于CookieAuthenticationMiddleware)。
所以你是否使用的相应的第三方 Basic Auth 并启用或者自己已经写了 Basic Auth 相关的认证模块。
你需要在http请求头上增加
Authorization: Basic 后面是你用户名和密码的base64编码
你需要在http请求头上增加
Authorization: Basic 后面是你用户名和密码的base64编码你需要在http请求头上增加
Authorization: Basic 后面是你用户名和密码的base64编码