Gentile Luca Colombo,
Un errore 401 Unauthorized non conferma, da solo, un problema relativo all’SPN o all’account di servizio. Con l’autenticazione di Windows, una o più risposte 401 possono far parte del normale scambio di autenticazione. Per prima cosa è quindi necessario controllare lo stato finale, il sottostato IIS e il codice di errore Windows.
🔎 Le consiglio di verificare quanto segue:
Nel log IIS relativo alla richiesta non riuscita, controlli questi campi:
sc-status
`sc-substatus`
`sc-win32-status`
`cs-username`
Ad esempio, gli errori `401.1` e `401.2` riguardano fasi diverse del processo di autenticazione.
In Gestione IIS, apra le impostazioni di **Autenticazione** del sito e verifichi che:
**Autenticazione di Windows** sia abilitata.
**Autenticazione anonima** sia disabilitata, se l’applicazione deve accettare esclusivamente utenti autenticati tramite Windows.
Nell’elenco dei provider, **Negotiate** sia posizionato prima di **NTLM**.
Microsoft indica che l’autenticazione di Windows in IIS può utilizzare Kerberos oppure NTLM.
- Verifichi l’indirizzo effettivamente utilizzato dagli utenti, inclusi eventuali alias DNS o nomi del servizio di bilanciamento. Kerberos richiede un SPN HTTP corrispondente a quel nome host. Provare prima con il nome del server e poi con l’alias può aiutare a isolare il problema.
- Prima di aggiungere o modificare un SPN, controlli dove è attualmente registrato:
setspn -Q HTTP/app.contoso.com setspn -Q HTTP/app setspn -L CONTOSO\svc_web setspn -X
Ogni SPN deve essere univoco. Lo stesso SPN HTTP non deve essere registrato sia sull’account computer del server sia sull’account di servizio del pool di applicazioni.
Se il pool di applicazioni utilizza un account di dominio dedicato e IIS è configurato per usare tale identità con Kerberos, gli SPN vengono normalmente registrati con -S, ad esempio:
setspn -S HTTP/app.contoso.com CONTOSO\svc_web setspn -S HTTP/app CONTOSO\svc_web
L’opzione -S verifica la presenza di duplicati prima di aggiungere l’SPN.
Non esegua questi comandi di registrazione finché non sono stati confermati l’identità del pool di applicazioni e i parametri della modalità kernel di IIS. Con l’autenticazione in modalità kernel, il proprietario corretto dell’SPN dipende dal fatto che IIS utilizzi l’account computer oppure le credenziali del pool di applicazioni. Registrare l’SPN sull’account errato può causare errori Kerberos come KRB_AP_ERR_MODIFIED.
Per approfondire, potrebbe fornire:
Le versioni di Windows Server e IIS
Il tipo di identità utilizzato dal pool di applicazioni
L’URL esatto utilizzato dagli utenti
I valori IIS sc-status, sc-substatus e sc-win32-status
Se l’accesso funziona con il nome del server ma non tramite l’alias
L’output anonimizzato dei comandi setspn -Q
Prima di condividere log o schermate, nasconda il dominio interno, i nomi utente, gli indirizzi IP e qualsiasi altra informazione riservata.
📘 Microsoft: autenticazione di Windows in IIS
📘 Microsoft: comando Setspn
📘 Microsoft: risoluzione dei problemi di autenticazione Kerberos
Se questa risposta Le è stata utile, sarei grato per un Mi piace. Se il problema è stato risolto, La invito a contrassegnarla come Risposta accettata, così sarà più facile trovarla anche per altri utenti.