我想出了一个需要从远程PC,同时发展与我的asp.net mvc的网站工作。 所以,我将其配置为使用IIS快递。
起初,使用Windows身份验证提出了一个问题。 我的网站应该在Windows域联网工作,所以我想用集成Windows身份验证。 我设法使它在Firefox工作, 如何:Firefox和集成Windows身份验证的IIS表达Windows身份验证 (通过bees73答案)。 但IEXPLORER还要求打印登录/密码,即使我打开它在本地,并指定我的IP,而不是本地主机。
与IE浏览器的问题仍然没有得到解决,但希望这是 - 如果我在凭证打印,它在本地工作。
我的问题是:当我打开我的网站在远程PC(无论是在火狐(无需打印登录/密码)和IE(我必须打印login'n'password))我的页面而不应用样式呈现。 它看起来像没有CSS可用。 但我没有得到任何错误。
在加载页面的源代码,我有行
<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
但是当我试着看的site.css,它说,有一些内部服务器错误。
我觉得我没有正确配置IIS Express和这就是问题所在。 如果是OK,集成Windows身份验证有没有要求用户名和密码的IE浏览器,至少我想工作。
所以,我的配置:
- 该项目本身 - 到IIS Express中,Windows身份验证 - 上,匿名 - 关闭。
- netsh的HTTP添加urlacl URL = HTTP:// MYIP:MyPort上用户=域名\ mylogin
- netsh的HTTP添加iplisten ipaddres = MYIP
- 在对ApplicationHost.config:
绑定:
<site name="MySite" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="D:\..." /> </application> <bindings> <binding protocol="http" bindingInformation="*:myport:localhost" /> <binding protocol="http" bindingInformation="*:myport:myip" /> </bindings> </site>
验证:
<sectionGroup name="authentication"> <section name="anonymousAuthentication" overrideModeDefault="Deny" /> ... <section name="windowsAuthentication" overrideModeDefault="Allow" /> </sectionGroup>
<authentication> <anonymousAuthentication enabled="false" userName="" /> ... <windowsAuthentication enabled="true"> <providers> <add value="Negotiate" /> <add value="NTLM" /> </providers> </windowsAuthentication> </authentication>
<add name="AnonymousAuthenticationModule" lockItem="true" />
<location path="MySite"> <system.webServer> <security> <authentication> <anonymousAuthentication enabled="false" /> <windowsAuthentication enabled="true" /> </authentication> </security> </system.webServer> </location>