Le informazioni di questo capitolo si riferiscono alle modifiche al file di configurazione web.config del sito Web Printing.

Nota

Se il percorso nel programma di installazione non viene modificato, la posizione predefinita del file web.config è c:\Program Files\NiceLabel\NiceLabel Web Printing\Web\.

Autenticazione basata su token

Quando l'applicazione Web esistente tenta di usare il motore di stampa all'interno di Web Printing, prima deve autenticarsi. L'autenticazione basata su token non richiede l'indicazione di alcun dato dell'utente nell'URL.

L'applicazione Web esistente richiede un servizio di autenticazione, con trasmissione del nome utente e della password come parametri una sola volta. La risposta è un token limitato nel tempo. Il token viene utilizzato nel parametro della query nel corso della comunicazione con Web Printing, in modo da stabilire quale file di soluzione (.NSLN) va usato.

L’IntegrationService di Web Service supporta il metodo GetLoginToken. Questo metodo accetta nome utente e password come parametri in entrata e fornisce il token (GUID) come parametro in uscita.

Servizio web

http://server/PowerFormsWeb/AuthenticationService/IntegrationService.asmx

Metodo

public string GetLoginToken(nome utente stringa, password stringa)

Workflow che deve essere implementato dall'utente:

  1. L'applicazione chiamante trasmette i dati di accesso (nome utente, password) richiamando il servizio Web.

  2. Il servizio Web ricorda le informazioni.

  3. Il servizio Web riporta il token all'applicazione chiamante, identificando la sessione corrente.

  4. L'applicazione chiamante carica la soluzione facendo riferimento al token restituito (GUID) disponibile nella stringa di query dell’URL:

    http://server/PowerFormsWeb/default.aspx?logintoken=1351ED23-9C74-411C-C887-40234952A116

    Qui è necessario sostituire server con il nome del server e PowerFormsWeb con la posizione esatta in cui è stato installato Web Printing e 1351ED23-9C74-411C-C887-40234952A116 con il token ricevuto dal servizio di autenticazione.

  5. Web Printing fornisce il file della soluzione assegnato al nome utente specificato.

  6. Dopo aver eseguito correttamente l'accesso, il token viene invalidato e non può essere riutilizzato.

Autenticazione di moduli

Per impostazione predefinita, il sito Web Printing utilizza l'autenticazione utente nativa (autenticazione di moduli). Questa modalità di autenticazione utilizza i nomi utente per i client Web definiti in Control Center.

Dopo l'apertura del sito Web Printing, all'utente vengono richiesti il nome utente e la password. Entrambi sono verificati rispetto alla configurazione dell'utente Web Printing in Control Center. Se l'autenticazione riesce, si apre la soluzione dell'utente.

Se si desidera evitare di visualizzare la schermata Accesso è possibile forzare un utente specifico usando i parametri della stringa di query nell'URL. In questo caso, l'utente ha già eseguito l'accesso a qualche altra applicazione nella quale è incorporato il sito di Web Printing. L'applicazione esistente fornirà il nome utente o la password nella stringa di query, come mostrato nell'esempio seguente.

Il sito Web Printing si apre mediante l'URL, ad esempio:

http://server/PowerFormsWeb/default.aspx?UserName=<username>&Password=<password>

Dove <username> è il nome del client Web e <password> è una password dello stesso account utente definito in Control Center. Se l'utente presente nell'elenco esiste, si apre la soluzione definita per l'account utente.

Con l'installazione predefinita del sito Web Printing, <password> viene formattato come testo normale. Per proteggere la password è possibile attivare l'Advanced Encryption Standard (AES) e crittografare la password nella stringa di query.

Per attivare la crittografia della password, procedere come segue:

  1. Aprire web.config in un editor di testo.

  2. Navigare fino alla sezione <appSettings></appSettings> e inserire le due seguenti chiavi:

    <configuration>
    <appSettings>
    <add key="PasswordKey" value="passwordkey" />
    </appSettings>
  3. Immettere i valori per i campi passwordkey (chiave password) e paswordiv (vettore inizializzazione password). La lunghezza della chiave della password va da 16 a 32 caratteri, mentre quella del vettore di inizializzazione deve essere impostata su 16 caratteri.

  4. I valori di campo passwordkey e paswordiv decifrano la password criptata fornita nella stringa di query. Se la password decifrata corrisponde al nome utente e alla password definiti per l'utente di Web Printing in Control Center, verrà caricata la soluzione associata.

Per eseguire i test relativi alla crittografia e alla decrittografia della password è possibile usare l'applicazione PasswordGenerator.exe disponibile sul DVD di NiceLabel nella cartella \Utility\AES Password Encrypter.

Ad esempio, il test dell'utente utilizza la password veryhardtoguess. L'URL sarebbe formato da:

http://<server>/PowerFormsWeb/default.aspx?UserName=test&Password=uEe6X5Cy9Xjhad2PmKlowg%3d%3d

Nota

I parametri passwordkey e passwordiv definiscono l'algoritmo di crittografia effettivo per la password. Diverse combinazioni di questi parametri determinano password decifrate in modo diverso.

Autenticazione Windows

Se il sito Web Printing è incorporato in una pagina Web diversa, nella maggiore parte dei casi l'autenticazione dell'utente è già stata eseguita nella relativa applicazione Web mediante l'autenticazione Windows. In questi casi, il comportamento predefinito del sito Web Printing può essere modificato in modo che erediti l'autenticazione fornita in precedenza.

Quando un utente accede al sito di Web Printing dall'interno dell'azienda (all'interno del dominio), è possibile usare l'autenticazione Windows. In questo caso, l'utente è identificato automaticamente dal proprio account Windows e non è necessario effettuare alcun accesso aggiuntivo.

Per modificare la modalità di autenticazione sul sistema, modificare le impostazioni seguenti:

  1. Modificare system.web/authentication nel file web.config. Il file web.config si trova nella cartella principale del sito Web. Questa azione imposta l’autenticazione sulla modalità corretta.

    • Impostazione prima della modifica: <authentication mode="Forms"/>

    • Impostazione dopo la modifica: <authentication mode="Windows"/>

  2. Modificare system.web/authorization nel file web.config. Il file web.config si trova nella cartella principale del sito Web. Ciò consente a tutti gli utenti di accedere a questo sito.

    • Impostazione prima della modifica: <deny users="?"/>

    • Impostazione dopo la modifica: <allow users="*" />

  3. Aprire IIS Manager e passare a Sites/Default Web Site/PowerFormsWeb. Aprire Configuration Editor e completare i seguenti passaggi:

    Passaggio 1: Selezionare Unlock Section per:

    • Section: system.webServer/security/authentication/windowsAuthentication.

    • From: ApplicationHost.Config <location path='Default Web Site/PowerFormsWeb' />.

    Passaggio 2: modificare l’opzione Enabled passando da False a True per:

    • Section: system.webServer/security/authentication/windowsAuthentication.

    • From: Default Web Site/PowerFormsWeb Web.Config.

    WPIG20193_windows_authentication_IIS_config.png

Dopo aver attivato l'autenticazione di Windows in Web Printing, l'autenticazione dell'utente non viene più eseguita in Web Printing, ma nel server Web (IIS).

Inoltre, le opzioni di accesso possono essere configurate anche mediante le proprietà Internet della Local Intranet Zone:

  • Opzioni di accesso automatico: il browser inoltra al server Web le credenziali dell'utente connesso correntemente. L'utente viene connesso automaticamente.

  • Richiedi nome utente e password: il browser non inoltra le credenziali dell’utente connesso correntemente. L'utente deve reimmettere il nome utente e la password.

windows authentication-browser settngs.png