情景
- 我有一个使用VS2012 C#创建的Web Api 2.2 RESTful服务
- 我正在使用基本身份验证,具有自定义检查用户名/密码的功能(运行良好)
- 某些方法具有
[AllowAnonymous]
属性 - 多个方法正在使用
[Authorize(Roles = "myRol")]
- 在本地工作正常(读取用户和密码,使用数据库进行检查,在必要时拒绝或允许,应匿名允许等)
问题
当我第一次在DEV环境中部署服务时,我无法登录:
- 具有AllowAnonymous的方法返回
200
- 具有基本安全性的方法返回
401
数据 (请询问或评论以获取更新)
这是我的web.config:
<system.webServer>
<modules>
<add name="BasicAuthHttpModule" type="WebHostBasicAuth.Modules.BasicAuthHttpModule, myAssemblyName" />
</modules>
这是我的标题(在本地有效):
Authorization: Basic YXR1cG9uZTp0ZXN0
Content-Type: application/json; charset=utf-8
这是我的回应:
状态:401 未经授权
数据: {"message":"请求的授权被拒绝。"}
头部信息:
Pragma: no-cache
Date: Fri, 24 Apr 2015 14:36:27 GMT
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Content-Length: 61
Expires: -1
这是我的 IIS 配置(如果我设置“基本身份验证”为“开启”,IIS 会向我询问我没有或无效的凭据):
问题: 这配置正确吗?我有什么遗漏吗? 我如何查看关于此内部错误的日志或其他内容?
提前感谢。