gpt4 book ai didi

c# - 如何为基本身份验证配置 Web Api 2 和 IIS?

转载 作者:太空狗 更新时间:2023-10-29 23:50:43 24 4
gpt4 key购买 nike

场景

  • 我有一个使用 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":"Authorization has been denied for this request."
标题:

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 配置(如果我在“on”中设置基本身份验证,IIS 会要求我提供我没有和/或它们无效的凭据):

IIS Config


问题:

这个配置好吗?我想念什么吗?
我如何查看日志或有关此内部错误的信息?

提前致谢。

最佳答案

看起来您的授权码无法连接到数据库。

注释掉连接到 DB 的代码并返回 true 无论如何,看看它是否让你通过。使用排除法缩小问题的范围。您需要更新数据库连接字符串 (web.config) 等以与开发环境相匹配。如果您不进行相应调整,您就不能指望在本地工作的东西在另一个环境中也能工作。希望有所帮助。

关于c# - 如何为基本身份验证配置 Web Api 2 和 IIS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29850857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com