场景
我有一个使用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>
这是我的 header (在本地有效):
Authorization: Basic YXR1cG9uZTp0ZXN0
Content-Type: application/json; charset=utf-8
这是我的回应:
状态:
401 Unauthorized
数据:{"message":"Authorization has been denied for this request."}
header :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会询问我没有和/或无效的凭据):
问题:
这个配置好了吗?我想念什么吗?
我如何查看日志或有关此内部错误的内容?
提前致谢。
最佳答案
看起来您的授权码无法与数据库连接。
注释掉连接到数据库的代码并返回 true,看看它是否让你通过。使用消除来缩小问题所在的范围。您需要更新数据库连接字符串 (web.config) 等以匹配开发环境。如果您不进行相应调整,您就不能指望在本地工作的内容在另一个环境中工作。希望有帮助。
关于c# - 如何配置Web Api 2和IIS进行基本身份验证?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29850857/