独自のアプリケーション プールで実行するように設定された IIS7 Web サイトがあります。アプリケーション プールは次のように構成されています。
Managed Pipeline Mode: Integrated
Identity: I_siteuser
(アカウントはIIS_IUSRSのメンバーです)
ウェブサイトの物理パスは次のとおりです:d:\websites\testsite\www
アカウントI_siteuser
にはフォルダーの変更権限があります。
ウェブサイトを設定するとパススルー認証セキュリティエラーが発生します:
HTTP Error 401.3 - Unauthorized
特定のユーザー ( ) を使用するようにサイトを構成するとI_siteuser
、ページを表示したりスクリプトを実行したりできるようになります。
私は、パススルー認証アプリケーション プールの ID が使用されます (この場合は、 の ID で実行するように構成されていますI_siteuser
)。
これは事実ではないようです。サイトが実行される ID は、実際には組み込みアカウント ですIUSR
。 の Web サイト フォルダーに読み取り/実行権限を追加することで、これを確認しましたIUSR
。
ここで見逃している別の設定はありますか?
アップデート:
私もサイト上で有効にしましたBasic Authentication
が、ログインダイアログが表示されるだけです。Windows Authentication
I_siteuser
また、タスク マネージャーで、アプリケーション プールのワーカー プロセスが の ID で実行されていることも確認できます。
答え1
パススルー認証について誤解されていると思います。パススルー認証が有効になっている場合、次の 2 つのうちのいずれかが発生します。
匿名認証の場合、匿名アクセス用に指定されたユーザー ID は、ファイルの物理パスにアクセスできる必要があります。(デフォルトでは、これは組み込みの IUSR アカウントですが、編集アクションで匿名認証用に構成できます)
認証が有効になっている場合、認証されたユーザーの資格情報はファイルの物理パスにアクセスできる必要があります。アプリケーション プール ID には、ファイルへの読み取り専用アクセスも必要です。
答え2
サイトの認証方法を確認し、基本認証および/または Lanman 認証が有効になっていることを確認します。
JR
ディレクトリ内のファイルには、アクセスが制限されている他のディレクトリのファイルが含まれていますか? また、I_sitename ユーザーだけでなく、グループ IIS_IUSRS に読み取りアクセスを許可してみてください。 もちろん、サイト (または仮想ディレクトリ) の認証設定で匿名アクセスが有効になっていることを確認してください。