2

プロジェクトで基本認証を使用しようとしていますが、これは通常、統合および QA 環境で正常に機能するか、IIS 7.5 を使用してローカルで実行することさえできます。しかし、IIS Express でローカルに実行すると、いくつかの非常に奇妙な問題が発生します。静的な要求を行うと、不可解な HTTP 500 エラーが発生し、そのリソースへのアクセスでエラーが発生したことがわかります。これは、おそらくアクセス許可に関連する理由で、エラー コード 0x80070542 が発生したことを示しています。同時に、ASP.NET でレンダリングされたものはすべて完璧になります。

大雑把な検索によると、問題は通常、IIS のアカウントがこれらのリソースにアクセスできないことに起因することが示されています。これは使い果たされており、IUSER は間違いなくリソースにアクセスできます。実際、まったく同じフォルダーが IIS 7.5 で完全に機能します。IIS Express バーフのみ。また、基本認証を有効にした場合にのみ、Windows 認証を有効にすると、すべての要求が完全に通過します。

最終的に、sysinternals procmon の実行を試みて、正しいユーザーを調べているのか、それが別の何かで失敗しているのかを調べたところ、BAD IMPERSONATION の結果として失敗していることがわかりました。しかし、誰がなりすましているのかを突き止めようとしても無駄でした。私たちが知る限り、IUSER / NETWORK SERVICE / default アカウントには適切なレベルのアクセス権があります。これは、IIS が運用モードで動作し、あらゆる種類のアクセス テストに合格することを前提としています。IIS Express を実行しているアカウントはすべてローカル管理者であり、偽装にアクセスできる必要があります。その権利をローカル セキュリティ ポリシーに手動で追加しても、違いはありません。なりすましユーザーを明示的に定義する以外に、これを修正する方法がわかりません。これは、本当に行う必要はありません。

では、IIS Express を基本認証と静的要求で動作させる正しい方法はありますか?

4

2 に答える 2

0

基本認証の奥深くにある何かが IIS Express 8 で壊れている、または壊れていたという正当な権限で最終的に更新されました。これは既知のバグであり、そのバージョンでは対処されませんが、将来のバージョンでは対処される可能性があります。

すでに開発構成を取得しているため、ローカル開発に Windows 認証を使用しているだけです。これは、アプリには何も変更せず、独立した開発構成を既に取得していますが、すべての場合に機能するとは限りません。

于 2015-10-21T21:30:24.890 に答える
0

IIS Express は現在ログオンしているユーザーとして実行され、偽装は行われません。おそらくテストのためだけに、現在ログオンしているユーザー アカウントを IIS IUser グループに追加してみて、うまくいくかどうかを確認していただけますか。

于 2012-02-07T14:26:19.197 に答える