開発中にリモートPCからasp.net mvcサイトを操作する必要性を思いつきました。そこで、IIS Express を使用するように構成しました。
最初に、Windows 認証で発生した問題。私のサイトは Windows ドメインのイントラネットで動作するはずなので、統合 Windows 認証を使用したいと考えていました。How To: Firefox とIIS Express Windows 認証の統合 Windows 認証( bees73 による回答) を使用して、Firefox で動作させることができました。しかし、IExplorer は、localhost の代わりに自分の IP を指定してローカルで開いても、ログイン/パスワードを出力するよう求めます。
IE の問題はまだ解決されていませんが、資格情報を印刷すると、ローカルで動作します。
私の質問は: リモート PC (Firefox (ログイン/パスワードを印刷する必要はありません) と IE (ログインとパスワードを印刷する必要があります) の両方) で自分のサイトを開くと、スタイリングを適用せずにページがレンダリングされます。css が利用できないようです。しかし、エラーは発生しません。
ロードされたページのソースコードには、次の行があります
<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
しかし、Site.css を見ようとすると、内部サーバー エラーが発生したと表示されます。
IIS Express を適切に構成していないと思いますが、それが問題です。問題がなければ、少なくとも IE でログインとパスワードを要求することなく、統合 Windows 認証が機能する必要があったと思います。
だから、私の設定:
- プロジェクト自体 - IIS Express へ、Windows 認証 - オン、匿名 - オフ。
- netsh http add urlacl url= http://myip:myport user=domainname\mylogin
- netsh http add 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>