0

次の URL にアクセスしようとしています :-

http://user1:pass1@localhost:1234/api/users?format=xml

複雑なことは何もありません。URL にユーザー名/パスワードが含まれていることに注意してください。これは基本認証用だと思います。

私がそうすると、リクエストヘッダーに「Authorize」ヘッダーがありません。ええと...それは正しくありません:(

サイトで匿名認証のみを設定しています。私は匿名をオフにして基本をオンにしたくありません..すべてのサイトが基本を必要とするわけではないため..いくつかのアクションメソッドのみが必要です。

それで..なぜこれが機能しないのですか?これは、私のコードが 401 チャレンジやがらくたを送信していないという事実と関係がありますか?

価値があるのは、私のサイトはIIS7で実行されているASP.NET MVC1です(cassiniで実行すると同じことが起こります)。

アップデート:

これが基本認証 (ala セキュリティ上の欠陥) を使用してリソースを呼び出す違法な方法である場合、ASP.NET MVC Web サイトの場合、アクション メソッドごとに (サイト全体ではなく)、これを行うことは可能ですか?

4

2 に答える 2

0

私の会社は Neokernel Web サーバー ( http://www.neokernel.com ) と呼ばれる製品を製造しています。これは、他の機能の中で基本認証をサポートする ASP.NET Web サーバーです。

Apache スタイルの構成ファイルで保護されたリソースを指定して、「保護された」アクションを認証が必要なフォルダーに配置し、その他すべてをルート/保護されていないフォルダーに配置できるようにします。例として Neokernel ルート ディレクトリにインストールされた「http.authentication」ファイル、または demos.zip ファイル内の認証サンプルを参照してください。

于 2010-04-16T19:02:51.647 に答える
0

基本認証を使用する場合は、リソースへの最初の要求で HTTP 401 エラー コードを返し、WWW-Authenticate ヘッダーを設定する必要があります。これにより、ブラウザーは実際にそれらの資格情報を送信するように指示されます。

ASP.NET MVC を使用していると述べました。web.config を介してこれを行うことができるかもしれませんが、正確なメカニズムについてはわかりません。

于 2010-03-29T05:03:06.340 に答える