0

我正在尝试转到以下网址:-

http://user1:pass1@localhost:1234/api/users?format=xml

没什么好复杂的。请注意我是如何在 url 中获得用户名/密码的?我相信,这是用于基本身份验证。

当我这样做时,请求标头缺少“授权”标头。呃……这不对:(

我在网站上只设置了匿名身份验证。我不想关闭 anon 并打开 basic .. 因为并非所有网站都需要 basic .. 只有几个操作方法。

那么..为什么这不起作用?这与我的代码没有发送 401 挑战或一些废话有关吗?

对于它的价值,我的网站是在 IIS7 上运行的 ASP.NET MVC1(当我在 cassini 上运行它时也会发生同样的事情)。

更新:

如果这是使用基本身份验证(ala 安全漏洞)调用资源的非法方式..那么对于 ASP.NET MVC 网站..每个操作方法(而不是整个站点,例如),这是否可行?

4

2 回答 2

0

如果要使用基本身份验证,对资源的第一次请求需要返回 HTTP 401 错误代码,并设置 WWW-Authenticate 标头。这将指示浏览器实际发送这些凭据。

您提到您正在使用 ASP.NET MVC。您可能可以通过 web.config 执行此操作,但我不确定确切的机制。

于 2010-03-29T05:03:06.340 回答
0

我的公司生产了一款名为 Neokernel Web Server ( http://www.neokernel.com ) 的产品,它是一个 ASP.NET Web 服务器,支持基本身份验证以及其他功能。

您在 apache 风格的配置文件中指定受保护的资源,以便您可以将“受保护”操作放在需要身份验证的文件夹中,并将其他所有内容放在根目录 / 不受保护。查看安装在 Neokernel 根目录中的“http.authentication”文件作为示例,或者查看 demos.zip 文件中的身份验证示例。

于 2010-04-16T19:02:51.647 回答