3

Windows 2008 R2 サーバー上の IIS 7.5 で、Windows 認証を使用してユーザー ログインを読み取るための単純なクラシック ASP アプリケーションをセットアップしています。(アプリケーションは 1 つのファイルであり、次の行があります - response.write(Request.ServerVariables("LOGON_USER")) )

ただし、コード ファイル (アプリケーション ディレクトリ) に特定のユーザーまたは「すべてのユーザー」に読み取りと実行のアクセス許可が付与されていない限り、ユーザーのログイン情報を読み取ることはできません。「Everyone」またはエンド ユーザーの ID を削除すると、ログイン ポップアップが表示され、続いて 401 - Unauthorized エラーが表示されます。

IIS に次の設定を適用しました…</p>

  1. アプリケーション プールの ID を「ApplicationPoolIdentity」に設定します。

  2. Windows 認証を有効にし、他のすべての認証を無効にしました。

  3. Windows 認証のプロバイダーで「NTLM」を一番上に移動しました。

  4. CGI で Impersonate User を False に設定する

  5. アプリケーション ディレクトリのセキュリティ プロパティに「IIS AppPool\DefaultAppPool」を追加しました。

Windows 認証を使用する IIS 7.5 Web アプリケーションで、コード ファイルへの読み取りアクセス権をエンド ユーザーまたは「全員」に付与する必要がある理由がわかりません。

この問題を解決するための見解を提案し、エンド ユーザーとフォルダを共有せずにこのアプリケーションを実行できるようにしてください。

前もって感謝します、

アショク

4

1 に答える 1

1

ここでより詳細な回答を提供しましたが、要するに、IIS がファイル システムへの認証に使用する資格情報を指定できる別のプロパティ セットがあり、アプリケーション プール ID は使用されなくなりました。探してPhysical Path Credentials&Physical Path Credentials Logon Type

于 2014-01-02T18:31:20.840 に答える