Les informations de cet article concernent les modifications du fichier de configuration web.config pour le site Web Printing.

Note

Si vous ne modifiez pas le chemin d’accès dans le logiciel d’installation, l'emplacement par défaut du fichier web.config est c:\Fichiers programme\NiceLabel\NiceLabel Web Printing\Web\.

Authentification par jeton

Quand l'application Web existante tente d'utiliser le moteur d'impression de Web Printing, elle doit d'abord s'authentifier elle-même. Avec l'authentification par jeton, il n'y a pas besoin de mettre des données de l'utilisateur dans l'URL.

L'application Web existante appelle un service d'authentification et passe l'identifiant et le mot de passe une seule fois. La réponse consiste en un jeton limité dans le temps, utilisé dans les paramètres de requête lors de la communication avec le Web Printing, afin de connaître le fichier de la solution (.NSLN) à utiliser.

Le Web Service IntegrationService prend en charge la méthode GetLoginToken. Cette méthode accepte le nom d'utilisateur et le mot de passe en tant que paramètres d'entrée et fournit le jeton (GUID) en tant que paramètre de sortie.

Service Web

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

Méthode

public string GetLoginToken(string username, string password)

Le flux de travail qui doit être implémenté à la fin :

  1. L'application qui appelle saute les données de connexion (identifiant et mot de passe) en appelant un Web Service.

  2. Le Web service retrouve l'information.

  3. Il renvoie le jeton à l'application qui appelle, en identifiant la session en cours.

  4. L'application qui appelle charge la solution en se référant au jeton revenu (GUID) dans la chaîne de requête dans l'URL :

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

    C'est là qu'il faut remplacer server par le nom du serveur et PowerFormsWeb par l'emplacement exact du Web Printing installé, et 1351ED23-9C74-411C-C887-40234952A116 par le jeton reçu du service d'authentification.

  5. Le Web Printing fournit le fichier de la solution qui a été assignée à l'utilisateur donné.

  6. Après réussite de la connexion, le jeton est invalidé et ne peut plus resservir.

Authentification par formulaire

Le site Web Printing utilise l'authentification native de l'utilisateur par défaut (Authentification par formulaire). Ce mode d'authentification utilise le nom des utilisateurs du Client Web tels que définis dans Control Center.

Après ouverture du site Web Printing, il est demandé à l'utilisateur son identifiant et son mot de passe. Les deux sont vérifiés dans la configuration de l'utilisateur de Web Printing dans Control Center. Si l'authentification est correcte, la solution de l'utilisateur s'ouvre.

Pour sauter la page de connexion, il est possible de paramétrer une chaîne de requête spécifique pour l'utilisateur dans l'URL Dans ce cas, l'utilisateur est déjà connecté par une autre application qui intègre le site Web Printing. L'application existante va fournir l'identifiant et le mot de passe à la chaîne de requête, comme dans l'exemple suivant :

Le site du Web Printing s'ouvre avec une URL, par ex. :

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

Dans la quelle <username> est le nom du client Web et <password> le mot de passe du même compte utilisateur défini dans Control Center. Si l'utilisateur listé existe, la solution définie pour son compte s'ouvre.

Dans une installation de site Web Printing par défaut, le <password> est formaté en texte simple. Pour protéger le mot de passe, il faut activer le Standard de chiffrement avancé (Advanced Encryption Standard) et crypter le mot de passe dans la chaîne de la requête.

Pour activer le cryptage du mot de passe, procéder comme suit :

  1. Ouvrir web.config dans un traitement de texte.

  2. Aller dans la section <appSettings></appSettings> pour insérer les deux clés suivantes :

    <configuration>
    <appSettings>
    <add key="PasswordKey" value="passwordkey" />
    </appSettings>
  3. Saisir les valeurs des champs passwordkey (clé du mot de passe) et paswordiv (vecteur d'initialisation du mot de passe). La clé du mot de passe doit avoir entre 16 et 32 caractères et le vecteur doit en avoir 16.

  4. Les champs passwordkey et paswordiv décryptent les valeurs du mot de passe crypté fourni dans la chaîne de requête. Si le mot de passe décrypté correspond aux identifiants définis pour le Web Printing dans Control Center, la solution associée va s'ouvrir.

Pour tester le cryptage et le décryptage du mot de passe, vous pouvez utiliser l'application PasswordGenerator.exe qui se trouve sur le DVD de NiceLabel, dans le dossier \Utility\AES Password Encrypter.

Par exemple, l'utilisateur test a pour mot de passe veryhardtoguess. L'URL sera :

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

Note

les paramètres passwordkey et passwordiv définissent l'algorithme de cryptage pour le mot de passe. Différentes combinaisons de ces paramètres donneront un cryptage différent du mot de passe.

Authentification Windows

Si le site de Web Printing est intégré dans une page Web différente, l'authentification de l'utilisateur est dans la plupart des cas déjà faite dans l'application Web utilisant l'authentification Windows. Dans ces cas-là, le comportement par défaut du site Web Printing peut être modifié pour qu'il hérite de l'authentification précédente.

Quand un utilisateur accède au site Web Printing dans l'entreprise (dans le même domaine), l'authentification Windows est utilisable. Dans ce cas, il est automatiquement identifié par son compte Windows, aucune autre connexion n'est nécessaire.

Pour modifier le mode d'authentification sur votre système, modifier les paramètres suivants :

  1. Modifier system.web/authentication dans le fichier web.config. Le fichier web.config est situé dans le dossier racine du site Web. Cette action définit l'authentification pour le bon mode.

    • Paramètre avant modification : <authentication mode="Forms"/>

    • Paramètre après modification : <authentication mode="Windows"/>

  2. Modifier system.web/authorization dans le fichier web.config. Le fichier web.config est situé dans le dossier racine du site Web. Tous les utilisateurs peuvent accéder à ce site.

    • Paramètre avant modification : <deny users="?"/>

    • Paramètre après modification : <allow users="*" />

  3. Ouvrir le gestionnaire des IIS et aller à Sites/Default Web Site/PowerFormsWeb. Ouvrir Éditeur de configuration et effectuer les étapes suivantes :

    Étape 1 : Sélectionner Débloquer la section pour :

    • Section définie : system.webServer/security/authentication/windowsAuthentication.

    • À partir de défini : ApplicationHost.Config <location path='Default Web Site/PowerFormsWeb' />.

    Étape 2 : Modifier l'option Activé de Faux à Vrai pour :

    • Section définie : system.webServer/security/authentication/windowsAuthentication.

    • À partir de défini : Default Web Site/PowerFormsWeb Web.Config.

    WPIG20193_windows_authentication_IIS_config.png

Après avoir activé l'authentification Windows dans Web Printing, l'authentification de l'utilisateur n'est plus effectuée dans le Web Printing mais sous la responsabilité du serveur Web (IIS).

De plus, les options de connexion sont configurables en utilisant les propriétés Internet de la Zone Locale Intranet :

  • Options de connexion automatiques : L'explorateur fait suivre l'accréditation de l'utilisateur connecté au serveur Web. L'utilisateur est connecté automatiquement.

  • Invite pour le nom d'utilisateur et le mot de passe : L'explorateur ne fait pas suivre les identifiants de l'utilisateur actuellement connecté. L'utilisateur doit ressaisir ses identifiants de connexion.

windows authentication-browser settngs.png