私はWindows認証を開発中のMVC3アプリケーション(VS 2010 SP1)で動作させるのに苦労しています。私は、違いがあれば、私の開発マシン(XPの場合はアップグレードするために来年まで)でXPを実行しています。私はまた、VS 2010のデフォルトのWeb開発サーバーとしてIIS Expressを使用していることを言及する必要があります。MVC3のWebページがWindowsの資格情報をIIS Expressに送信しないのはなぜですか?
アップグレードするまで、VSメニューからイントラネットテンプレートを入手できなかったので、私は空のMVC3アプリケーションを使い始めました。昨日のMVC3ツール(OK、少し遅かった)。テンプレートをインストールして検査したら、プロジェクトにDirectoryServicesへの参照を追加し、現在のログオンしているユーザーをページの右上隅に表示するコードを追加しました。グラフィックスによれば、 "Welcome PCE \ dnewman!"と表示されるはずです。
私はこの記事の優秀な指示に従いました:IIS Express Windows Authenticationといくつかの進路を作った。しかし、私は今、私が許可されていないと言って、IIS Expressから401.2エラーを受け取ります...
私は自分のプロジェクトプロパティに入り、匿名認証を有効に設定しました。今すぐウェブページにアクセスできますが、私のページの右上隅に表示されているのは「ようこそ!」です。 - ユーザ名なし。
IEとFirefoxの両方でこれを試しましたが、同じ結果でした。何が$#^ &!私はここで行方不明ですか?それは私がWindowsにログインしていないようだ!どこで問題を探し始める必要がありますか?
以前の雇用者では数年前、Windowsログオン資格情報でユーザーを認証したWindowsフォームアプリケーションを作成しました。その場合、資格情報を送信してからサービス終了時に明示的に認証することに特別な注意を払わなければなりませんでした。ブラウザにGETまたはPOSTごとに資格情報を追加させるために必要なことはありますか?
私のweb.configの内容は次のとおりです。すべてのGlimpse設定用の情報があります。
<?xml version="1.0"
encoding="utf-8"?>
<configuration>
<configSections>
<section name="glimpse"
type="Glimpse.Core.Configuration.GlimpseConfiguration" />
</configSections>
<appSettings>
<add key="ClientValidationEnabled"
value="true" />
<add key="UnobtrusiveJavaScriptEnabled"
value="true" />
</appSettings>
<system.web>
<compilation debug="true"
targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
<pages>
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.WebPages" />
</namespaces>
</pages>
<trace writeToDiagnosticsTrace="true"
enabled="true"
pageOutput="false" />
<httpModules>
<add name="Glimpse"
type="Glimpse.Core.Module" />
</httpModules>
<httpHandlers>
<add path="glimpse.axd"
verb="GET,POST"
type="Glimpse.Core.Handler" />
</httpHandlers>
</system.web>
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false"/>
<windowsAuthentication enabled="true" />
</authentication>
</security>
<modules runAllManagedModulesForAllRequests="true">
<add name="Glimpse"
type="Glimpse.Core.Module,Glimpse.Core"
preCondition="integratedMode" />
</modules>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="Glimpse"
path="glimpse.axd"
verb="GET,POST"
type="Glimpse.Core.Handler,Glimpse.Core"
preCondition="integratedMode" />
</handlers>
</system.webServer>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_IReporting"
maxBufferSize="1024000"
maxBufferPoolSize="1000000"
maxReceivedMessageSize="1024000">
<readerQuotas maxDepth="200"
maxStringContentLength="65536"
maxArrayLength="32768"
maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<security mode="None" />
</binding>
<binding name="normalBinding">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint name="tcpAdminServiceEndpoint"
address="net.tcp://PCESRV22.pce.local:9000/ProductionMonitor/AdminService"
binding="netTcpBinding"
bindingConfiguration="normalBinding"
contract="Contracts.IAdmin" />
<endpoint name="tcpMasterDataServiceEndpoint"
address="net.tcp://PCESRV22.pce.local:9010/ProductionMonitor/MasterDataService"
binding="netTcpBinding"
bindingConfiguration="normalBinding"
contract="Contracts.IMasterData" />
<endpoint name="tcpReportingServiceEndpoint"
address="net.tcp://PCESRV22.pce.local:9030/ProductionMonitor/ReportingService"
binding="netTcpBinding"
bindingConfiguration="NetTcpBinding_IReporting"
contract="Contracts.IReporting" />
</client>
</system.serviceModel>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc"
publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0"
newVersion="3.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<glimpse enabled="true" />
</configuration>
私は、必要に応じて詳細を明かすために喜んでより多くのですが、私は本当にどこまでも探し始めるのか分かりません。私が見つけることができるすべての記事または記事は、この部分がWindows/MVC3/ASP.NETセットアップの一部として行われると仮定しているようです。あなたが参照され、ポスト内のすべての推奨事項に従っている場合は、私が行ったよう
おかげで、デイブ
この回答に記載されている匿名認証を無効にしましたか? http://stackoverflow.com/questions/4762538/iis-express-windows-authentication/7168308#7168308 – jrummell
私は匿名認証を無効にしています。 IIS Expressを使用しているとお伝えしますか?アプリケーションをデバッグするとどうなりますか?あなたのコンストラクタにブレークポイントを置き、 'this.User.Identity'で見つけたものを教えてください – Rastapopulous
最初のコメントに関しては、そうでした。それは私が上で参照したのと同じ投稿によって参照されます。それがうまくいかなかったら、何が起こるのかを確認して空のユーザー名を取得し直しました。私が匿名で有効にしてデバッグすると、this.User.Identityを見ると、私の観測から予想されるもの、つまり空の文字列が得られます。匿名認証を無効にすると、アプリケーションは401.2エラーで停止し、ブレークポイントに達する(Global.asax.csのApplication_Startにあります) – DaveN59