通常、IIS 7を設定するとき、ユーザーにアクセス許可を許可することに慣れていますIIS APPPOOL\{アプリケーションプール名} Webアプリケーションのルートフォルダー上。IUSR(またはIIS_IUSRSユーザーグループ)にもアクセス許可を与えます(注、Windows Server 2008では、IUSRはデフォルトでそのグループに含まれていないため、追加)。
Windows Server 2008で、ユーザーが見つかりませんIIS APPPOOL\{アプリケーションプール名}セキュリティの下にWindowsフォルダプロパティの下。 ASP.NETでWindows認証を使用しています。認証プロンプトを取得した後、Internet Explorer8のページに401.1が表示されます。 Mozilla Firefoxはまた、私にWindows認証プロンプトを表示し、サイトに問題なくアクセスできました。 GoogleChromeと同じです。
これを解決するにはどうすればよいですか?
HTTPエラー401.1-権限がありません指定された資格情報を使用してこのディレクトリまたはページを表示する権限がありません。
特定のページ情報:
Module: WindowsAuthenticationModule
Notification: AuthenticateRequest
Handler: PageHandlerFactory-ISAPI-4.0_32bit
Error Code: 0x8009030e
Requested URL: http://.....aspx
Physical Path: C:\.........aspx
Logon Method: Not yet determined
Logon User: Not yet determined
これは、IEが匿名ユーザーアカウントではなく認証済み資格情報を使用するためである可能性があります。認証済みユーザーにアクセス権がない場合、失敗します。1つの解決策は、認証済みユーザーをに追加することです。 IEを使用すると、ネットワークで使用している資格情報がサイトに渡されますが、他のブラウザでは、新しい資格情報のセットが要求されます。
3番目のコメントのリンクは良いリードのようです。ネゴシエートをオフにして何が起こるか見てみましたか? 4番目のリンクで信頼ゾーンとイントラネットゾーンを変更することもお勧めします。
ところで、Windows Server 2008では、IIS_IUSRSは事実上その場で処理されるため、IUSRSを追加しても何も問題はありませんが、必要ありません。
Server 2012でも同じ問題が発生しました。何らかの理由で、仮想アカウントが作成されていませんでした(または仮想アカウントを使用できませんでした)。 --AppHostSvc
またはNetMan
サービスが実行されていないことに関連していると思います。 -最終的に、私はそれを修正するためにショットガンアプローチを採用しました(推奨されていません。本番環境ではできる限り少ないことを心がけてください。しかし、このPowerShellは開発環境のピンチから抜け出す可能性があります):
#Requires -Version 4
#Requires -RunAsAdministrator
#######################################
$DebugPreference = "SilentlyContinue";
$VerbosePreference = "SilentlyContinue";
$WarningPreference = "Continue";
$ErrorActionPreference = "Stop";
Set-PSDebug -Strict;
Set-StrictMode -Version 3;
#######################################
Get-WindowsOptionalFeature -Online `
| where { $_.FeatureName -ilike "*IIS*" -and $_.State -eq "Disabled" } `
| % { Enable-WindowsOptionalFeature -Online -FeatureName $_.FeatureName -All };
iisreset
Get-Service | ? { $_.ServiceName -eq "W3SVC" } | Start-Service;
Get-Service | ? { $_.ServiceName -eq "W3SVC" } | Set-Service -StartupType Automatic;
Get-Service | ? { $_.ServiceName -eq "WMSvc" } | Start-Service;
Get-Service | ? { $_.ServiceName -eq "WMSVC" } | Set-Service -StartupType Automatic;
Get-Service | ? { $_.ServiceName -eq "AppHostSvc" } | Start-Service;
Get-Service | ? { $_.ServiceName -eq "AppHostSvc" } | Set-Service -StartupType Automatic;
Get-Service | ? { $_.ServiceName -eq "Netman" } | Start-Service;
Get-Service | ? { $_.ServiceName -eq "Netman" } | Set-Service -StartupType Automatic;
iisreset