27

ASP.NET MVC 3ベータ版でイントラネットサイトを作成していますが、Windows認証のみを使用したいと考えています。また、VS2010ではVisualStudio開発サーバーを使用したいと思います。

デフォルトのweb.configファイルを変更して、フォーム認証へのすべての参照を削除し、次のように切り替えました。

<authentication mode="Windows"  />
<authorization>
  <deny users="?" />
</authorization>

ただし、サイトを起動してデフォルトページを取得すると、次の応答が返されます。

HTTP/1.1 302 Found
Server: ASP.NET Development Server/10.0.0.0
Date: Tue, 02 Nov 2010 14:05:19 GMT
X-AspNet-Version: 4.0.30319
Location: /Account/Login?ReturnUrl=%2f
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 145
Connection: Close

これは私のブラウザでこのメッセージにつながります:

'/'アプリケーションのサーバーエラー。

リソースが見つかりません。

説明:HTTP404。探しているリソース(またはその依存関係の1つ)が削除されたか、名前が変更されたか、一時的に使用できなくなった可能性があります。次のURLを確認し、スペルが正しいことを確認してください。

要求されたURL:/ Account / Login

バージョン情報:Microsoft .NET Frameworkバージョン:4.0.30319; ASP.NETバージョン:4.0.30319.1バージョン:4.0.30319.1

[Visual Studio Development Serverを使用する]の下のプロジェクトプロパティで[NTLM認証]を選択すると、接続時に次の応答が正しく返されます。

HTTP/1.1 401 Unauthorized Server
ASP.NET Development Server/10.0.0.0
Date: Tue, 02 Nov 2010 14:07:37 GMT
Content-Length: 1211 
WWW-Authenticate: NTLM

しかし、認証すると、302を取得します

これはデフォルト値をクリアするだけの問題だと思いますが、よくわかりません( "/ Account / Login"は私のweb.configファイルのどこにも表示されません)。「拒否」の部分を削除すると、認証されたプリンシパルを取得せず、事実上匿名のままになることを除いて、問題なく機能します。

これは、認証モードをWindowsに変更するだけで、ASP.NET MVC 2およびVS2008で機能していたと思いますが、現在はそのようには機能していないようです。

私はおそらく基本的な何かが欠けていることを知っています。ありがとう!

注:この質問は、「 ASP.Net MVCサイトへの匿名アクセスを制限する問題」の質問に似ていますが、Windows認証のみを使用するという点で異なります。

4

3 に答える 3

38

私はまったく同じ問題を抱えていました。MVC 3(かなりよく隠されている)に変更があり、デフォルトでフォーム認証が自動的に有効になっていることがわかりました。これを無効にするには、ルートWeb.configファイルのappSettingsキーの下に次の行を追加します...

<add key="autoFormsAuthentication" value="false" />

お役に立てば幸いです。

于 2010-11-02T15:49:13.310 に答える
15

参考までに、これが他の人に役立つ場合:私の場合、 <add key="enableSimpleMembership" value="false">問題を修正するために追加するだけで済み、<add key="autoFormsAuthentication" value="false" />必須ではありませんでした。また、このブログ投稿は説明として非常に役立ちましたhttp://www.codeproject.com/Articles/292149/The-resource-cannot-be-found-Account-Login?msg=4092212#xx4092212xx

この修正の潜在的な影響/副作用について何か考えはありますか?

また、この問題が1年以上経ってもまだ修正されていないことに失望しています。

ありがとう。

于 2011-12-01T07:00:51.360 に答える