Salta ai contenuti

Utenti e accesso

Ogni persona che lavora con l’invoiceR ha bisogno di un utente. Che cosa un utente può vedere e fare, lo controlli tramite i permessi, meglio tramite i ruoli (vedi Permessi).

  • A mano: sotto Administration > Utenti crei gli utenti direttamente nell’invoiceR e li gestisci.
  • Importazione da Active Directory (LDAP): un job ricorrente (Benutzer von ActiveDirectory importieren) legge gli utenti di un gruppo AD.
  • Importazione da Microsoft Entra ID: un job ricorrente (Benutzer von Azure AD importieren) legge i membri di un gruppo Entra tramite Microsoft Graph. I nuovi utenti vengono creati, quelli modificati aggiornati e quelli disattivati in Entra vengono eliminati nell’invoiceR.
  1. Crea una registrazione dell’app (o usa una già esistente per l’invoiceR) e annota Tenant ID, Application (client) ID e Client secret.
  2. Sotto API permissions aggiungi per Microsoft Graph i permessi dell’applicazione User.Read.All, Group.Read.All e GroupMember.Read.All e concedi Grant admin consent.
  3. Crea in Entra ID un gruppo con tutte le persone che usano l’invoiceR e annota il suo Object ID.

I valori vengono inseriti da enio nella configurazione del job di importazione:

ChiaveContenuto
TenantIdTenant ID del tenant Microsoft.
ClientIdApplication ID della registrazione dell’app.
ClientSecretClient secret della registrazione dell’app.
GroupObjectIdObject ID del gruppo i cui membri vengono importati.
DefaultRoleIdsFacoltativo. Ruoli che i nuovi utenti ricevono automaticamente.
UseOnPremisesSamAccountNameAsUsernameFacoltativo. true adotta il nome di accesso Windows come nome utente, necessario insieme all’autenticazione di Windows.

Standard. Gli utenti accedono con nome utente e password, vedi Accedere e disconnettersi.

Gli utenti accedono con il proprio account Microsoft. Per questo la registrazione dell’app richiede inoltre:

  1. Sotto Authentication > Add a platform > Web l’indirizzo di reindirizzamento (Redirect URI) che ricevi da enio.
  2. L’opzione ID tokens.
  3. Sotto Token configuration > Add optional claim > ID il claim email; conferma che il permesso Microsoft Graph email venga attivato.

L’accesso viene configurato nel backend nella sezione Authentication:OpenId di appsettings.

Autenticazione di Windows (Single Sign-on con Kerberos)

Sezione intitolata “Autenticazione di Windows (Single Sign-on con Kerberos)”

Gli utenti nella rete aziendale vengono autenticati automaticamente con il proprio account Windows. Servono impostazioni in IIS, nel dominio e nei browser.

1. Configurare IIS

  1. Attiva in Server Manager la funzionalità IIS Windows Authentication.
  2. Per il sito web del backend attiva sotto Authentication sia Anonymous Authentication sia Windows Authentication.
  3. Fai eseguire l’Application Pool del backend con un account di servizio di dominio, per esempio CONTOSO\sa-invoicer.
  4. Nel Configuration Editor (system.webServer/security/authentication/windowsAuthentication) imposta useAppPoolCredentials su True.

Il web.config del backend contiene quindi:

<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="true" useAppPoolCredentials="true" />
</authentication>
</security>
</system.webServer>

Se IIS segnala «This configuration section cannot be used at this path», sblocca prima la sezione a livello di server nel Configuration Editor (Unlock Section).

2. Voci SPN nel dominio

Se il backend è raggiungibile con un nome diverso dal nome del server, un amministratore di dominio deve associare l’indirizzo all’account di servizio. La voce HTTP serve anche se si usa solo HTTPS:

setspn -A HTTP/invoicer-backend CONTOSO\sa-invoicer
setspn -A HTTP/invoicer-backend.contoso.ch CONTOSO\sa-invoicer

Può verificarlo anche un utente senza diritti di dominio: setspn -L CONTOSO\sa-invoicer.

3. Browser

I browser inviano l’autenticazione di Windows solo a indirizzi della zona «Intranet locale». Inserisci gli indirizzi di frontend e backend in questa zona tramite criteri di gruppo e consenti lì l’accesso automatico. Altrimenti compare una finestra di accesso.

4. Attivare nell’invoiceR

Sotto Administration > Impostazioni nella scheda Altre impostazioni attivi L’autenticazione di Windows (Single-Sign-On) è abilitata?. Nella pagina di accesso compare quindi Accesso con utente Windows.

Cercare gli errori

  • https://<backend-adresse>/api/TokenAuth/WindowsAuthTest restituisce, se la configurazione funziona, l’utente Windows riconosciuto.
  • Se la finestra di accesso ricompare continuamente, c’è qualcosa che non va con IIS o Kerberos (SPN). Se dopo un unico inserimento funziona, il browser non riconosce l’indirizzo come intranet.
  • Se dopo l’attivazione le chiamate rispondono con lo stato 302, verifica se l’indirizzo del backend nella configurazione contiene doppie barre oblique.

Se l’autenticazione di Windows è attivata o l’accesso tramite OpenID Connect è attivo, l’invoiceR nasconde Disconnessione nel menu utente. Una disconnessione non servirebbe a nulla, perché l’utente verrebbe subito di nuovo autenticato automaticamente.

Gli utenti con il permesso Consentire il logout nonostante l’autenticazione di Windows (General.AllowLogoutDespiteWindowsAuthentication) vedono comunque Disconnessione. Possono disconnettersi e accedere con un altro utente, per esempio per test o supporto. Il permesso lo assegni sotto Administration > I ruoli.