2011-01-21 3 views
1

Description du problème: Il existe deux sous-systèmes. L'une est une application Web Java EE et l'autre un outil de reporting Cognos. Actuellement, ces deux applications fournissent des pages de connexion individuelles qui permettent aux utilisateurs d'effectuer leurs activités, selon les rôles définis dans le système. Les utilisateurs Java EE peuvent se connecter directement à l'application Java EE à l'aide de sa page de connexion. De même, les utilisateurs Cognos peuvent se connecter au portail à l'aide de leur page de connexion en fournissant leurs informations d'identification intranet.SSO entre Java EE et l'application Cognos

Les utilisateurs de l'application Java EE doivent pouvoir afficher les rapports Cognos en cliquant sur un lien URL dans l'application Web Java EE. Actuellement, en cliquant sur cette URL, le portail Cognos ouvre les informations d'identification de l'utilisateur.

Je m'attends à une solution qui nous aiderait à contourner la page de connexion de Cognos Portal, lorsqu'on clique sur l'URL. Cela aidera les utilisateurs qui se sont connectés à l'application Java EE à afficher les rapports Cognos sur une nouvelle page Web sans avoir à se connecter à nouveau.

Répondre

0

Vous réaliseriez authentification unique entre votre application et cognos en suivant ces étapes:

(je suppose que vous utilisez LDAP et Java)

  • Installez Cognos SDK sur la machine dev où vous avez déjà le serveur Cognos BI. Pour essayer les exemples fournis avec Cognos SDK, vous aurez besoin de JDK. Si vous utilisez déjà Cognos sans JDK, Cognos utilise peut-être le JRE fourni, qui ne provient malheureusement pas d'Oracle. Dans ce cas, vous devrez peut-être désinstaller Cognos, installer d'abord Oracle JDK, puis réinstaller Cognos et Cognos SDK. Sinon, vous rencontrerez des problèmes d'incompatibilité de cryptographie.
  • Assurez-vous que vous avez correctement configuré un espace de noms de fournisseur d'authentification complet tel que LDAP.
  • Accédez à TrustedSignonSample livré avec Cognos SDK. Dans Cognos 10, l'exemple Java peut être trouvé dans $ COGNOS_SDK/java/AuthenticationProvider.
  • Modifiez TrustedSignonSample.java et définissez votre ID d'espace de noms LDAP ici. Le fournisseur de connexion de confiance utilisera cet espace de noms pour vérifier si l'utilisateur existe ou non.
  • Créez l'exemple en utilisant le build.bat fourni et vous devriez obtenir un fichier jar.
  • Lisez le fichier «readme.txt» fourni avec l'exemple et configurez ce fournisseur correctement. Maintenant, si vous allez à la page de connexion de Cognos, vous devriez voir deux choix d'espace de noms.
  • Si vous exécutez votre application sur la même machine que Cognos, créez simplement un cookie avec le nom respectif (reportez-vous à TrustedSignonSample pour le nom du cookie) et la valeur. Vous devez définir la valeur du cookie en tant qu'utilisateur actuellement connecté de votre application.
  • Après avoir défini le cookie, si vous accédez à la page de connexion de Cognos et que vous choisissez l'espace de noms du fournisseur d'accès sécurisé personnalisé, vous ne serez pas invité à vous connecter.
  • Si vous ne souhaitez pas que Cognos affiche la page de connexion, vous pouvez configurer l'espace de nom de votre fournisseur de code d'accès personnalisé comme valeur par défaut dans la configuration de Cognos.
  • Si vous exécutez votre application sur un ordinateur différent de Cognos, vous devez effectuer quelques configurations supplémentaires dans la configuration globale de Cognos pour vous assurer qu'elle accepte les cookies de cette machine/ce domaine.

Pour plus d'informations, reportez-vous ce "fil": http: //businessintelligence.ittoolbox.com/groups/technical-functional/cognos-l/the-cookie-trusted_signon_user-is-not-set-4863689 lancé par le vôtre vraiment.

J'ai réalisé une connexion unique entre Cognos et mon application de cette façon. J'espère que ça t'aide.