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).
Da dove vengono gli utenti
Sezione intitolata “Da dove vengono gli utenti”- A mano: sotto
Administration > Utenticrei 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.
Preparare l’importazione da Microsoft Entra ID
Sezione intitolata “Preparare l’importazione da Microsoft Entra ID”- Crea una registrazione dell’app (o usa una già esistente per l’invoiceR) e annota Tenant ID, Application (client) ID e Client secret.
- Sotto API permissions aggiungi per Microsoft Graph i permessi dell’applicazione
User.Read.All,Group.Read.AlleGroupMember.Read.Alle concedi Grant admin consent. - 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:
| Chiave | Contenuto |
|---|---|
TenantId | Tenant ID del tenant Microsoft. |
ClientId | Application ID della registrazione dell’app. |
ClientSecret | Client secret della registrazione dell’app. |
GroupObjectId | Object ID del gruppo i cui membri vengono importati. |
DefaultRoleIds | Facoltativo. Ruoli che i nuovi utenti ricevono automaticamente. |
UseOnPremisesSamAccountNameAsUsername | Facoltativo. true adotta il nome di accesso Windows come nome utente, necessario insieme all’autenticazione di Windows. |
Metodi di accesso
Sezione intitolata “Metodi di accesso”Nome utente e password
Sezione intitolata “Nome utente e password”Standard. Gli utenti accedono con nome utente e password, vedi Accedere e disconnettersi.
Accesso con Microsoft Entra ID (OpenID Connect)
Sezione intitolata “Accesso con Microsoft Entra ID (OpenID Connect)”Gli utenti accedono con il proprio account Microsoft. Per questo la registrazione dell’app richiede inoltre:
- Sotto Authentication > Add a platform > Web l’indirizzo di reindirizzamento (Redirect URI) che ricevi da enio.
- L’opzione ID tokens.
- Sotto Token configuration > Add optional claim > ID il claim
email; conferma che il permesso Microsoft Graphemailvenga 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
- Attiva in Server Manager la funzionalità IIS Windows Authentication.
- Per il sito web del backend attiva sotto Authentication sia Anonymous Authentication sia Windows Authentication.
- Fai eseguire l’Application Pool del backend con un account di servizio di dominio, per esempio
CONTOSO\sa-invoicer. - Nel Configuration Editor (
system.webServer/security/authentication/windowsAuthentication) impostauseAppPoolCredentialssuTrue.
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-invoicersetspn -A HTTP/invoicer-backend.contoso.ch CONTOSO\sa-invoicerPuò 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/WindowsAuthTestrestituisce, 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.
Disconnettersi
Sezione intitolata “Disconnettersi”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.
