Table des matières

Search

  1. Préface
  2. Introduction
  3. Concepts IDD
  4. Processus d'implémentation
  5. Gestionnaire de configuration IDD
  6. Configuration manuelle d'IDD
  7. Propriétés globales d'IDD
  8. Exigences de plateforme et de dimensionnement
  9. Composants de l'application
  10. Configuration de la sécurité IDD
  11. Sécurité des données
  12. Exemple de configuration de la sécurité basée sur les rôles
  13. Masquage des données
  14. Moteur de flux de travail Siperian BPM
  15. Codes de paramètres régionaux
  16. Dépannage
  17. Glossaire

Guide d’implémentation de Data Director

Guide d’implémentation de Data Director

Fournisseur de connexion personnalisé avec formulaire de connexion externe

Fournisseur de connexion personnalisé avec formulaire de connexion externe

Si un mécanisme d'authentification particulier exige une page de connexion autre qu'IDD, l'implémentation du fournisseur de connexion personnalisé doit utiliser les méthodes d'interface indiquées et décrites dans le tableau suivant :
Nom de la méthode d'interface
Description
initialize
IDD appelle cette méthode avant toute autre méthode d'implémentation du fournisseur de connexion et transmet un ensemble de propriétés décrivant le contexte de l'exécution. Dans IDD, ces propriétés contiennent une entrée à laquelle il peut être fait référence sous le terme de LoginProvider. La propriété SSO_POST_REDIRECT_PAGE_PROPERTY contient l'URL de la page JSF qui permet d'envoyer des données dans une demande POST vers le fournisseur de connexion externe. Une implémentation du fournisseur de connexion peut utiliser cette page pour rediriger IDD vers la page de connexion externe à l'aide de la méthode POST.
isUseIDDLoginForm
Cette méthode doit renvoyer FALSE.
redirectToProviderLoginPage
Cette méthode doit former une URL vers le formulaire de connexion externe et appeler le renvoi vers cette page. Vous pouvez aussi rediriger vers la page de connexion externe à l'aide de la méthode POST.
extractLoginCredentials
IDD appelle cette méthode lorsqu'une nouvelle demande d'authentification d'utilisateur arrive. Si la demande contient des informations émanant d'un fournisseur d'identité externe, telles que des paramètres de demande et des cookies, cette méthode doit les extraire et renvoyer l'instance LoginCredentials (com.siperian.bdd.security.LoginCredentials) avec des champs correctement renseignés. Si la demande ne contient pas d'informations d'authentification, la méthode doit renvoyer NULL.
encodeComponentUrl
Cette méthode n'est pas implémentée car le nom d'utilisateur et le mot de passe sont requis par le formulaire de connexion externe qu'IDD ne reconnaît pas.
onLogout
Elle est appelée lorsqu'un utilisateur se déconnecte. Elle peut exécuter une déconnexion sur le fournisseur d'identité externe et des paramètres de nettoyage définis par la méthode requestLoginCredentials.
getLogoImageBody
Cette méthode peut renvoyer NULL.
Une fois la connexion réussie, vous êtes redirigé vers la page IDD principale ou vers la page du composant Informatica Data Controls (IDC), selon votre demande initiale.
Vous pouvez également contourner l'authentification externe à l'aide du paramètre
internal_login_form=true
dans l'URL IDD qui affiche la connexion IDD.
Par exemple,
http://localhost:8080/bdd?internal_login_form=true
Dans ce cas, le nom d'utilisateur et le mot de passe sont vérifiés par rapport à la liste des utilisateurs de MDM Hub.

Transmission des identifiants vers le lien externe

Si vous avez besoin d'intégrer des liens externes dans IDD et si les liens utilisent le même fournisseur de connexion unique (SSO) (par exemple, SalesForce.com) comme par exemple le fournisseur de connexion personnalisé installé, utilisez cette méthode pour ajouter des informations d'authentification à l'URL du lien. Si aucune information n'est ajoutée, la méthode doit renvoyer la même chaîne d'URL que celle qui lui a été transmise comme paramètre ou null.
Exemple :
Supposez que vous implémentez LoginProvider pour une utilisation avec SalesForce.com.
Vous définissez également le lien externe avec l'URL
https://na7.salesforce.com/home/home.jsp
pour afficher la page d'accueil du compte SalesForce.com intégrée à l'écran IDD.
La méthode encodeComponentUrl reçoit cette URL et la convertit de la manière suivante :
https://na7.salesforce.com/secur/frontdoor.jsp?sid=<SFDC_API_SESSIONID>&retUrl=https://na7.salesforce.com/home/home.jsp
Après cette transformation, un Iframe de la page IDD affiche la page d'accueil requise sans redirection vers le formulaire de connexion SalesForce.

Utilisation de la page POST

IDD utilise la page POST pour rediriger les utilisateurs vers une page de connexion externe. Cette page est soumise après son chargement sur le client.
La source de la page utilise la variable prédéfinie JSF requestScope pour accéder aux paramètres décrits dans le tableau suivant :
Nom du paramètre
Utilisation
providerGateURL
Doit être une valeur de chaîne. Il définit l'URL à laquelle le formulaire sera soumis (action de formulaire).
authParameters
Il s'agit d'un mappage des paires clé – valeur. Chaque paire de valeurs est utilisée pour créer une entrée masquée. La clé d'entrée de mappage est utilisée comme nom d'entrée et la valeur comme valeur de champ d'entrée.
Dans l'exemple suivant, la variable postRedirectPageUrl est définie pendant l'appel d'une méthode d'initialisation :
public void redirectToProviderLoginPage(HttpServletRequest httpRequest, HttpServletResponse httpResponse, String returnUrl) throws LoginProviderException { RequestDispatcher dispatcher = httpRequest.getRequestDispatcher(postRedirectPageUrl); httpRequest.setAttribute( PROVIDER_GATE_URL_ATTR, authReq.getOPEndpoint() ); httpRequest.setAttribute( AUTH_PARAMETERS_ATTR, authReq.getParameterMap() ); dispatcher.forward( httpRequest, httpResponse ); }
Pour envoyer une redirection vers la nouvelle page lors de la déconnexion, vous pouvez ajouter le code suivant à la méthode redirectToProviderLoginPage() :
if("gotoLogoutPage".equalsIgnoreCase(httpRequest.getParameter("logoutParam"))){ try { httpResponse.sendRedirect("http://www.google.com/"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
La méthode onLogout() écrit le code dans la réponse, comme indiqué dans l'exemple suivant :
{\"logoutURL\":\"/mdm/entity360view/?logoutParam=gotoLogoutPage\",\"kerberos\":\"true\"}