> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/it/sicurezza/enterprise-security/windows-sso.md).

# Windows SSO

L'autenticazione Windows, nota anche come autenticazione Negotiate, utilizza Kerberos o NTLM per autenticare senza richiedere una password all'utente. È supportata principalmente nei domini Windows, ma può essere configurata in Linux e Mac OS.

### appsettings.json

L'autenticazione Windows fornisce il supporto single sign-on per i browser e gli ambienti che la supportano. Per abilitare l'autenticazione Windows, imposti su true l'impostazione abilitata `WindowsAuthentication` in `appsettings.json`.

```javascript
"Windows": {
  "Enabled": "true"
},
```

### Authentication.ps1

Può abilitare l'autenticazione Windows aggiungendo un nuovo provider di autenticazione in Sicurezza \ Autenticazione. Selezioni Windows e abiliti l'autenticazione.

![](/files/SsYgcg53ndz9p6jMRTJd)

Una volta impostato Windows come autenticato, l'autenticazione Windows può essere utilizzata con Universal. Dovrà disconnettersi per poter utilizzare l'autenticazione Windows.

### Autenticazione Windows in IIS

Per abilitare l'autenticazione Windows in IIS, si assicuri di abilitare l'autenticazione Windows e di disabilitare l'autenticazione anonima.

![](/files/zZjg4gZMC5T23Qypr6nY)

Nel file web.config incluso con PowerShell Universal, si assicuri di aver impostato `forwardWindowsAuthToken` su `true`.

```
<aspNetCore processPath="Universal.Server.exe" arguments="" forwardWindowsAuthToken="true" stdoutLogEnabled="true" stdoutLogFile=".\logs\log" hostingModel="OutOfProcess"/>
```

### Autenticazione Windows al di fuori di IIS

L'autenticazione Windows è supportata al di fuori di IIS, ma richiede la configurazione dell'account che esegue il servizio Universal.

#### Windows

Su Windows, dovrebbe installare PowerShell Universal come [servizio Windows](/powershell-universal/it/getting-started.md#windows). Una volta installato il servizio, dovrà creare un [utente account di servizio](/powershell-universal/it/config/running-as-a-service-account.md#application-service-account) e impostare il servizio affinché venga eseguito con l'account di tale utente. L'[impostazione ](/powershell-universal/it/config/settings.md)dell'autenticazione Windows deve essere impostata su true.

```javascript
"Windows": {
  "Enabled": "true"
},
```

L'account di servizio deve avere un nome dell'entità servizio (spn) configurato per l'account computer. Può farlo utilizzando il comando `setspn`. Il nome del computer deve essere il nome completo della macchina che esegue Universal.

```
setspn -S HTTP/myservername.mydomain.com myuser
```

Per maggiori informazioni, può consultare la documentazione Microsoft per la configurazione dell'autenticazione Windows di ASP.NET Core: [Configurazione di una macchina Windows per l'autenticazione Windows](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-3.1\&tabs=visual-studio#windows-environment-configuration)

#### Linux

[Configurazione di una macchina Linux o Mac OS per l'autenticazione Windows](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-3.1\&tabs=visual-studio#linux-and-macos-environment-configuration)

### Claim memorizzati nella cache

PowerShell Universal memorizza nella cache i claim di appartenenza ai gruppi quando si utilizza l'autenticazione Windows. I claim vengono memorizzati nella cache per il valore di timeout della sessione configurato (l'impostazione predefinita è 25 minuti).

Per svuotare manualmente la cache, vada in Sicurezza \ Ruoli e faccia clic sul pulsante Clear Cached Claims.

## Configurazione del browser

A seconda del suo ambiente locale, potrebbe essere necessario configurare il browser affinché trasmetta correttamente le credenziali a PowerShell Universal.

* [Google Chrome](https://chromeenterprise.google/policies/#HTTPAuthentication)
* [Microsoft Edge](https://learn.microsoft.com/en-us/deployedge/microsoft-edge-policies#http-authentication-policies)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/powershell-universal/it/sicurezza/enterprise-security/windows-sso.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
