我正在尝试转到以下网址: -
没有什么可复杂的。请注意我在网址中是如何获得用户名/密码的?我认为,这是基本身份验证。
当我这样做时,请求标头丢失了'授权'标题。呃......那不对:(
我只在网站上设置了匿名身份验证。我不希望关闭和基本打开...因为并非所有的网站都需要基本...只有一些行动方法。
那么..为什么这不起作用?这与我的代码没有发送401挑战或一些垃圾这一事实有关吗?
对于它的价值,我的网站是在IIS7上运行的ASP.NET MVC1(当我在cassini上运行它时会发生同样的事情)。
如果这是使用基本身份验证(ala安全漏洞)调用资源的非法方式..那么对于ASP.NET MVC网站来说,这是可行的吗?每个操作方法(而不是整个站点,每个说)?
答案 0 :(得分:0)
如果要使用基本身份验证,对资源的第一个请求需要返回HTTP 401错误代码,并设置WWW-Authenticate标头。这将指示浏览器实际发送这些凭据。
您提到您正在使用ASP.NET MVC。您可以通过web.config执行此操作,但我不确定具体的机制。
答案 1 :(得分:0)
我的公司制作了一款名为Neokernel Web Server(http://www.neokernel.com)的产品,它是一个ASP.NET Web服务器,支持其他功能的基本身份验证。
您可以在apache样式的配置文件中指定受保护的资源,这样您就可以将“受保护”的操作放在需要身份验证的文件夹中,并将其他所有内容放在root / unprotected中。查看安装在Neokernel根目录中的“http.authentication”文件的示例,或者访问demos.zip文件中的身份验证示例。