我有一个基本的Visual Studio项目,一个站点中有两个文件夹,一个名为' pub'哪个应该是公开的,一个名为'auth'这需要您登录才能查看内容。我在web.config中有2个位置规则来管理它。 我还使用了一个基本的auth模块(http://www.asp.net/web-api/overview/security/basic-authentication),它被添加到IIS中的模块并注册
在VS中,当我使用IISExpress进行调试时,一切都按预期工作,' pub'让我没问题,auth提示我使用' basic' AUTH。但是当我发布(通过VS,在更新之前删除所有文件)网站到IIS 7.5的每个文件夹都需要身份验证,这是错误的。
现在,如果是导致问题的BasicAuthModule,那么如何在IISExpress中使用基本身份验证提示输入凭据,但如果不是模块,那么IISExpress调试安装和我之间有什么不同服务器
没有很多代码要展示,但这是我的web.config以及我们正在使用的代码:
-system.webServer-
-modules-
-add name="BasicAuthHttpModule" type="WebHostBasicAuth.BasicAuthHttpModule" -
-/modules-
-/system.webServer-
-system.web-
-httpRuntime targetFramework="4.5" -
-authentication mode="Windows" -
-/system.web-
-location path="~/services/public"-
-system.web-
-authorization-
-allow users="*"-
-/authorization-
-/system.web-
-/location-
-location path="~/services/auth"-
-system.web-
-authorization-
-deny users="?"-
-/authorization-
-/system.web-
-/location-
答案 0 :(得分:0)
明显的答案,重新设计了网站以获得auth和pub的虚拟目录,并为每个网站更改了auth方法。
我只是应该有更好的方法。