Condividi tramite


Errore ADFS 2.0: 401 La risorsa richiesta richiede l'autenticazione utente

Questo articolo illustra un problema a causa del quale vengono richieste le credenziali e l'evento 111 viene registrato quando si autentica un account in Active Directory Federation Services (AD FS) 2.0.

Numero KB originale: 3044976

Riepilogo

La maggior parte dei problemi di Active Directory Federated Services (AD FS) 2.0 appartiene a una delle categorie principali seguenti. Questo articolo contiene istruzioni dettagliate per risolvere i problemi di autenticazione.

Sintomi

Quando si tenta di autenticare un account in Active Directory Federation Services (AD FS) 2.0, si verificano gli errori seguenti:

  • Il server AD FS restituisce il messaggio di errore seguente:

    Errore Non autorizzato-HTTP 401. La risorsa richiesta prevede l'autenticazione degli utenti.

  • In una schermata di accesso basata su form, il server restituisce il messaggio di errore seguente:

    Password o nome utente non corretto.

  • Vengono richieste continuamente le credenziali.

  • L'evento 111 viene registrato nel log di amministrazione di AD FS, come indicato di seguito:

    Nome log: AD FS 2.0/Admin
    ID evento: 111
    Livello: errore
    Parole chiave: AD FS
    Descrizione:
    Il servizio federativo ha rilevato un errore durante l'elaborazione della richiesta WS-Trust.
    Tipo di richiesta: http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue
    Dettagli eccezione:
    Microsoft.IdentityModel.SecurityTokenService.FailedAuthenticationException: MSIS3019: Autenticazione non riuscita. >--- System.IdentityModel.Tokens.SecurityTokenValidationException: ID4063: LogonUser non riuscito per l'utente 'user1'. Verificare che l'utente disponga di un account di Windows valido. >--- System.ComponentModel.Win32Exception: Errore di accesso: nome utente sconosciuto o password non valida

Risoluzione

Per risolvere il problema, seguire questa procedura nell'ordine specificato. Questi passaggi consentono di determinare la causa del problema.

Passaggio 1: Assegnare il record del nome del servizio federativo AD FS corretto

Assicurarsi che il DNS disponga di un record HOST (A) per il nome del servizio federativo AD FS ed evitare di usare un record CNAME. Per altre informazioni, vedere Comportamenti di Internet Explorer con l'autenticazione Kerberos.

Passaggio 2: Controllare la registrazione del nome del servizio federativo

Individuare il nome del servizio federativo e verificare se il nome è registrato nell'account del servizio AD FS. A tale scopo, effettuare i passaggi seguenti:

  1. Individuare il nome host/<nome> servizio federativo:

    1. Aprire Gestione AD FS 2.0.

    2. Fare clic con il pulsante destro del mouse su ADFS 2.0 e quindi scegliere Modifica proprietà servizio federativo.

    3. Nella scheda Generale individuare il campo Nome servizio federativo per visualizzare il nome.

      Screenshot del servizio federativo Finestra Proprietà in cui è possibile controllare il nome del servizio federativo.

  2. Controllare se il nome del> servizio HOST/<federativo è registrato nell'account del servizio AD FS:

    1. Aprire lo snap-in Gestione. A tale scopo, fare clic su Start, fare clic su Tutti i programmi, su Strumenti di amministrazione e quindi su Servizi.

    2. Fare doppio clic su AD FS (2.0) Servizio Windows.

    3. Nella scheda Accesso prendere nota dell'account del servizio visualizzato nel campo Questo account .

      Screenshot della finestra Proprietà servizio Windows AD FS 2.0 (Computer locale) in cui l'account del servizio viene visualizzato nel campo Questo account.

    4. Fare clic su Start, scegliere Tutti i programmi, Accessori, fare clic con il pulsante destro del mouse su Prompt dei comandi e quindi scegliere Esegui come amministratore.

    5. Esegui questo comando:

      SETSPN -L domain\<ADFS Service Account>
      

      Screenshot per il risultato del comando setspn.

Se il nome del servizio federativo non esiste già, eseguire il comando seguente per aggiungere il nome dell'entità servizio (SPN) all'account AD FS:

SetSPN -a host/<Federation service name> <username of service account>

Screenshot per il risultato del comando setspn, che consiste nell'aggiungere il nome dell'entità servizio.

Passaggio 3: Verificare la presenza di NOMI SPN duplicati

Verificare che non siano presenti nomi SPN duplicati per il nome dell'account AD FS. A tale scopo, effettuare i passaggi seguenti:

  1. Fare clic su Start, scegliere Tutti i programmi, Accessori, fare clic con il pulsante destro del mouse su Prompt dei comandi e quindi scegliere Esegui come amministratore.

  2. Eseguire il comando seguente per assicurarsi che non siano presenti nomi SPN duplicati per il nome dell'account AD FS:

    SETSPN -X -F
    

Passaggio 4: Controllare se il browser usa l'autenticazione integrata di Windows

Assicurarsi che il browser Internet Explorer in uso sia configurato per l'uso dell'autenticazione integrata di Windows. A tale scopo, avviare Internet Explorer, fare clic su Impostazioni, fare clic su Opzioni Internet, fare clic su Avanzate e quindi su Abilita autenticazione integrataWindows.

Passaggio 5: Controllare il tipo di autenticazione

Assicurarsi che il tipo di autenticazione predefinito nel server AD FS sia configurato correttamente. A tale scopo, effettuare i passaggi seguenti:

  1. In Esplora risorse passare a C:\inetpub\adfs\ls (si presuppone che inetpub si trovi nell'unità C).
  2. Individuare Web.config e quindi aprire il file nel Blocco note.
  3. Nel file individuare (CTRL+F) <localAuthenticationTypes>.
  4. In <localAuthenticationTypes> individuare le quattro righe che rappresentano i tipi di autenticazione locale.
  5. Selezionare ed eliminare il tipo di autenticazione locale preferito (l'intera riga). Incollare quindi la riga nella parte superiore dell'elenco (in <localAuthenticationTypes>).
  6. Salvare e chiudere il file Web.config.

Per altre informazioni sul tipo di autenticazione locale, vedere l'argomento TechNet seguente:

AD FS 2.0: Come modificare il tipo di autenticazione locale

Passaggio 6: Controllare le impostazioni di autenticazione

Assicurarsi che le directory virtuali AD FS siano configurate correttamente per l'autenticazione in Internet Information Services (IIS).

  • Nel nodo Sito Web predefinito/adfs aprire l'impostazione Autenticazione e quindi assicurarsi che l'autenticazione anonima sia abilitata.
  • Nel nodo Sito Web predefinito/adfs/ls aprire l'impostazione Autenticazione e quindi assicurarsi che sia l'autenticazione anonima che l'autenticazione di Windows siano abilitate.

Passaggio 7: Controllare le impostazioni di attendibilità proxy

Se è configurato un server proxy AD FS, verificare se l'attendibilità proxy viene rinnovata durante gli intervalli di connessione tra i server proxy AD FS e AD FS.

Il server proxy rinnova automaticamente l'attendibilità con il servizio federativo AD FS. Se questo processo ha esito negativo, l'evento 394 viene registrato Visualizzatore eventi e viene visualizzato il messaggio di errore seguente:

Il proxy del server federativo non è riuscito a rinnovare la relazione di trust con il servizio federativo.

Per risolvere questo problema, provare a eseguire di nuovo la configurazione guidata del proxy AD FS. Durante l'esecuzione della procedura guidata, assicurarsi che vengano usati nomi utente e password di dominio validi. Queste credenziali non vengono archiviate nel server proxy AD FS. Quando si immettono le credenziali per la configurazione guidata attendibilità proxy, sono disponibili due opzioni.

  • Usare le credenziali di dominio con diritti amministrativi locali nei server AD FS.
  • Usare le credenziali dell'account del servizio AD FS

Passaggio 8: Controllare le impostazioni di protezione estesa di IIS

Alcuni browser non possono eseguire l'autenticazione se la protezione estesa (ovvero l'autenticazione di Windows) è abilitata in IIS, come illustrato nel passaggio 5. Provare a disabilitare l'autenticazione di Windows per determinare se il problema viene risolto.

La protezione estesa non consente l'autenticazione di Windows anche quando il proxy SSL viene eseguito da strumenti come Fiddler o alcuni servizi di bilanciamento del carico intelligenti.

Ad esempio: è possibile che vengano visualizzate richieste di autenticazione ripetute se nel client è in esecuzione Fiddler Web Debugger.

Per disabilitare la protezione estesa per l'autenticazione, seguire il metodo appropriato, a seconda del tipo di client.

Per i client passivi

Utilizzare questo metodo per le applicazioni virtuali "Sito Web predefinito/adfs/ls" in tutti i server della server farm federativa AD FS. A tale scopo, effettuare i passaggi seguenti:

  1. Aprire Gestione IIS e quindi individuare il livello che si vuole gestire.

    Per altre informazioni su come aprire Gestione IIS, vedere Aprire Gestione IIS (IIS 7).

  2. In Visualizzazione funzionalità fare doppio clic su Autenticazione.

  3. Nella pagina Autenticazione selezionare Autenticazione di Windows.

  4. Nel riquadro Azioni fare clic su Impostazioni avanzate.

  5. Quando viene visualizzata la finestra di dialogo Impostazioni avanzate, fare clic su Disattivato dal menu Protezione estesa.

Per i client attivi

Usare questo metodo per il server AD FS primario:

  1. Avviare Windows PowerShell.

  2. Per caricare lo snap-in Windows PowerShell per AD FS, eseguire il comando seguente:

    Add-PsSnapIn Microsoft.Adfs.Powershell
    
  3. Per disabilitare la protezione estesa per l'autenticazione, eseguire il comando seguente:

    Set-ADFSProperties -ExtendedProtectionTokenCheck "None"
    

Passaggio 9: Controllare lo stato del canale sicuro tra il server ADFS e i controller di dominio

Assicurarsi che il canale sicuro tra AD FS e i controller di dominio sia valido. A tale scopo, utilizzare il seguente comando:

Nltest /dsgetdc:domainname

Se la risposta è diversa da "operazione riuscita", è necessario risolvere i problemi relativi al canale protetto netlogon. A tale scopo, assicurarsi che le condizioni seguenti siano vere:

  • Il controller di dominio (DC) è raggiungibile
  • I nomi del controller di dominio possono essere risolti
  • Le password nel computer e il relativo account nel sito di Active Directory sono sincronizzate.

Passaggio 10: Verificare la presenza di colli di bottiglia

Controllare se si verificano colli di bottiglia correlati all'autenticazione in base all'impostazione MaxconcurrentAPI nel server AD FS o nei controller di dominio. Per altre informazioni su come controllare questa impostazione, vedere l'articolo della Knowledge Base seguente:

Come eseguire l'ottimizzazione delle prestazioni per l'autenticazione NTLM usando l'impostazione MaxConcurrentApi

Passaggio 11: Verificare se il server proxy ADFS sta riscontrando una congestione

Controllare se il server proxy ADFS sta limitando le connessioni perché ha ricevuto molte richieste o risposta ritardata dal server AD FS. Per altre informazioni, vedere l'argomento TechNet seguente:

AD FS 2.x: Risoluzione dei problemi relativi all'ID evento del server proxy 230 (algoritmo di prevenzione della congestione)

In questo scenario è possibile notare errori di accesso intermittenti in ADFS.

Passaggio 12: Controllare le impostazioni di attendibilità proxy

Se è configurato un server proxy ADFS, verificare se l'attendibilità proxy viene rinnovata durante gli intervalli di connessione tra i server proxy AD FS e AD FS.

Il server proxy rinnova automaticamente l'attendibilità con il servizio federativo AD FS. Se questo processo ha esito negativo, l'evento 394 viene registrato Visualizzatore eventi e viene visualizzato il messaggio di errore seguente:

Il proxy del server federativo non è riuscito a rinnovare la relazione di trust con il servizio federativo.

Per risolvere questo problema, provare a eseguire di nuovo la configurazione guidata del proxy AD FS. Durante l'esecuzione della procedura guidata, assicurarsi che vengano usati nomi utente e password di dominio validi. Queste credenziali non vengono archiviate nel server proxy AD FS.

Passaggio 13: Abilitare il controllo DI ADFS insieme agli eventi di accesso di controllo - Esito positivo e negativo

Per altre informazioni, vedere Configurazione dei server ADFS per la risoluzione dei problemi.