[JAVA] Une description de l'exemple JDBC qui sera utile lors du développement d'un fournisseur d'authentification personnalisé avec le SDK Cognos

Aperçu

Je ne connais pas du tout Cognos, mais il vaut mieux finir soudainement par développer un fournisseur d'authentification personnalisé pour Cognos simplement parce que vous pouvez écrire Java. Un fournisseur d'authentification personnalisé est une histoire de codage en Java du SDK Cognos pour créer la fonction d'authentification / autorisation Cognos elle-même. Normalement, Cognos utilise les informations utilisateur pour l'authentification / l'autorisation qui existent dans LDAP, mais lorsque vous souhaitez conserver les informations utilisateur dans une table de base de données pour une raison quelconque, telle que l'absence de LDAP, et effectuer une authentification / autorisation. Le fournisseur d'authentification personnalisé (CJAP) apparaîtra dans.

Lors du développement avec ce modèle, il est presque impossible d'écrire tout le code à partir de zéro et il est habituel de le développer à partir de l'exemple CJAP du SDK Cognos appelé JDBCSample.

Eh bien, le développement commence par la lecture de l'exemple JDBC, mais je pense que c'est très difficile pour les personnes qui ne connaissent pas Cognos, alors j'aimerais poster un point de lecture.

Configuration du fournisseur d'authentification personnalisé (JDBCSample)

Tout d'abord, vous devez installer un module appelé Cognos SDK, mais une fois installé, JDBCSample sera placé dans le répertoire suivant. C:\Program Files\ibm\cognos\c10_64\sdk\java\AuthenticationProvider\JDBCSample

Il existe un DDL de création de table pour DB2 appelé dbInit_db2.sql. Si vous l'exécutez, vous pouvez créer un exemple de table contenant des informations sur le groupe d'utilisateurs. 014.PNG

Si vous construisez avec build.bat sur le même dossier, CAM_AAA_JDBCSample.jar sera créé, alors placez-le dans le dossier suivant. C:\Program Files\ibm\cognos\c10_64\webapps\p2pd\WEB-INF\lib

009.PNG

Ensuite, si vous créez un espace de noms de fournisseur Java personnalisé avec l'authentification Cognos Configuration et que vous spécifiez RestorableJDBCSample comme nom de classe Java, cette classe sera appelée comme classe principale lors de l'authentification. 008.PNG

Bon, enfin le sujet principal, mais comme il est important de lire cette classe RestorableJDBCSample, je la décrirai ci-dessous.

Classe RestorableJDBCSample

La source de la classe RestorableJDBCSample est ci-dessous, alors ouvrons-la. C:\Program Files\ibm\cognos\c10_64\sdk\java\AuthenticationProvider\JDBCSample\RestorableJDBCSample.java

** méthode init ** La partie la plus simple est la méthode init de la ligne 222. 013.PNG

Il s'agit d'une méthode lue à partir des services lorsque le processus Cognos est démarré. 002.PNG

** méthode de déconnexion ** Ce qui suit est également une méthode de déconnexion simple à partir de la ligne 113. 011.PNG

Lorsque vous vous connectez à Cognos, cet écran de portail (Cognos Connection) s'affiche. Il s'agit de la méthode qui est appelée lorsque vous vous déconnectez littéralement de Cognos en cliquant sur le mot «déconnecter» dans le cadre rouge. 003.PNG

** méthode de connexion ** Maintenant, la méthode de connexion à partir de la 54e ligne suivante est la clé. Bien sûr, il s'agit d'une méthode appelée lors de la connexion à Cognos, mais lorsque vous regardez la source, quel est le cercle rouge, ①getTrustedCredentialValues, ②getCredentialValues, ③getFormFieldValues, ④getTrustedEnvironmentVaribleValue? 015.PNG

① Qu'est-ce que getTrustedCredentialValues? Cognos dispose d'une fonction de planification qui vous permet d'exécuter régulièrement des rapports et de les enregistrer au format PDF. À côté de chacune de ces entrées de rapport, vous pouvez définir la planification avec l'icône de cadre rouge. 006.PNG

Lorsque vous cliquez sur l'icône, l'écran suivant apparaît et vous pouvez définir quand et dans quel format le rapport sera exécuté. 007.PNG

Avec ce paramètre, le rapport sera exécuté à l'heure définie, mais l'ID utilisateur pour l'exécution du rapport est l'ID de l'utilisateur qui a défini la planification et le moment de l'exécution du rapport à cette heure définie. Donc, en fait, c'est une image que l'authentification s'exécute avec cet ID utilisateur. Les informations utilisateur sont conservées lorsque la planification est définie, mais c'est ce getTrustedCredentialValues qui les appelle et les reçoit.

② Qu'est-ce que getCredentialValues? Ceci est appelé lorsque vous créez un programme pour faire fonctionner Cognos avec le SDK Cognos, exécuter le programme de l'extérieur et vous authentifier lors de l'accès à Cognos. Ignorez si vous dites que vous n'avez pas créé de programme pour les appels externes vers le SDK Cognos.

③ Qu'est-ce que getFormFieldValues? Il s'agit d'une fonction permettant de recevoir l'ID utilisateur et le mot de passe saisis lors de l'accès à Cognos à partir d'une page Web externe ou du service Cognos Mashup.

④getTrustedEnvironmentVaribleValue Lors de l'exécution de SSO (Single Sign On) avec Cognos, l'authentification unique est essentiellement effectuée en fonction des informations d'ID utilisateur intégrées dans la variable d'environnement de l'en-tête HTTP, mais elle reçoit la variable d'environnement de l'en-tête HTTP par authentification personnalisée et SSO. C'est pour faire.

Garder cela à l'esprit rend la lecture de la méthode de connexion beaucoup plus facile.

** méthode de recherche ** Enfin, il y a la méthode de recherche commençant à la ligne 134. 012.PNG

Dans Cognos, lors de l'exécution d'actes d'autorisation tels que l'octroi d'autorisations, les utilisateurs sont affectés à un certain groupe ou les utilisateurs de la source d'authentification sont recherchés. J'essaye d'enregistrer un membre dans un groupe appelé "Creator" sur l'écran de gestion appelé Cognos Administration comme ceci. Appuyez sur Ajouter un cadre rouge. 004.PNG

Ensuite, vous pouvez vous référer aux informations utilisateur dans la source d'authentification (restaurable) comme ceci. En haut à droite, il y a des fonctions appelées «entrée» et «recherche» qui recherchent des utilisateurs en spécifiant des conditions plus détaillées, mais c'est aussi le rôle de la méthode de recherche de mettre en œuvre ces fonctions. 005.PNG

En gros, c'est tout.

Le développement ne peut pas être démarré sans comprendre les fonctions réelles à l'écran de Cognos et le mappage décrit dans le code source, nous espérons donc qu'il sera utile comme première étape du développement personnalisé.

Recommended Posts

Une description de l'exemple JDBC qui sera utile lors du développement d'un fournisseur d'authentification personnalisé avec le SDK Cognos
Correction pour empêcher l'augmentation du numéro de connexion à la base de données avec le fournisseur d'authentification personnalisé de l'exemple Cognos SDK
Le point addictif lors de l'authentification de base avec Java URLConnection
Une histoire qui a eu du mal avec l'introduction de Web Apple Pay
À propos du sujet qui a tendance à être confondu avec ARG de Dockerfile qui est une construction en plusieurs étapes