Mise en place de codjo security - codjo/codjo-security GitHub Wiki

Installation

Cette page décrit comment installer et configurer le plugin de sécurité dans votre application.

Configuration datagen

Inclusion de la définition datagen du module dans le pom.xml du projet

<build>
  <plugins>
    <plugin>
      <groupId>net.codjo.maven.mojo</groupId>
      <artifactId>maven-datagen-plugin</artifactId>
      <configuration>
        <includes>
          <include>
            <groupId>net.codjo.control</groupId>
            <artifactId>codjo-control-server</artifactId>
            <classifier>datagen</classifier>
          </include>
          ...
        </includes>
      </configuration>
    </plugin>
  </plugins>
</build>

Configuration SQL

Il ne faut pas oublier de mettre les grants sur les tables de configuration : {noformat} grant select, insert, delete, update, references on PM_SEC_MODEL to ... {noformat}

Configuration serveur

Déclaration de la dépendance dans le pom.xml du projet

<dependency>
    <groupId>net.codjo.security</groupId>
    <artifactId>codjo-security-server</artifactId>
</dependency>

Installation du plugin

ServerCore server = new ServerCore();
...
server.addPlugin(SecurityServerPlugin.class);
...

{anchor:Paramétrage LDAP}

Paramétrage LDAP

Dans le fichier de configuration du serveur server-config.properties il faut ajouter les propriétés suivantes :

LdapSecurityService.jdbc.login = capri
LdapSecurityService.jdbc.password = capri_pwd
LdapSecurityService.ldap.url = ldap://a7sw302:389
LdapSecurityService.ldap.postfix = @AM.AGF.FR
LdapSecurityService.ldap.factory = com.sun.jndi.ldap.LdapCtxFactory

NB : Les propriétés \**.ldap.\** sont optionnelles

{anchor:Paramétrage ADS}

Paramétrage ADS

  1. Configuration à faire dans les applications 1.* Applications 3-tier Il faut que la propriété SecurityService.config apparaisse dans le fichier server-config.properties. Ce paramétrage vient en plus du paramétrage LDAP.
SecurityService.config = @securityServiceConfig@

1.* Applications standalone Il faut que la propriété SecurityService.config apparaisse dans la configuration du plugin simplewebstart. Ce paramétrage vient en plus du paramétrage LDAP.

<plugin>
  <groupId>org.bud.maven.mojo</groupId>
  <artifactId>maven-simplewebstart-plugin</artifactId>
  <configuration>
    <jnlp>
      ...
      <properties>
        <property>
          <name>SecurityService.config</name>
          <value>@securityServiceConfig@</value>
        </property>
        ...
</plugin>
  1. Paramétrage delreco à faire au moment des livraisons en recette et en production
@securityServiceConfig@ = ads:application.user=<APPLICATION_USER>|\
                              application.pwd=<APPLICATION_PASSWORD>|\
                              project.name=<PROJECT_NAME>|\
                              ldap.url=<LDAP_URL>|\
                              ssl.url=<SSL_URL>|\
                              ldap.url.backup=<LDAP_URL_BACKUP>|\
                              ssl.url.backup=<SSL_URL_BACKUP>|\
                              project.base=<PROJECT_BASE>|\
                              role.base=<ROLE_BASE>|\
                              permission.base=<PERMISSION_BASE>|\
                              user.base=<USER_BASE>|\
                              adsbv.jnlp.url=<ADSBV_JNLP_URL>

Configuration Client

Déclaration de la dépendance dans le pom.xml du projet

<dependency>
    <groupId>com.agf.security</groupId>
    <artifactId>codjo-security-client</artifactId>
</dependency>
Installation du plugin
MadGuiCore gui = new MadGuiCore();
...
gui.addPlugin(SecurityClientPlugin.class);
...

Configuration IHM

Déclaration de la dépendance dans le pom.xml du projet

<dependency>
    <groupId>com.agf.security</groupId>
    <artifactId>codjo-security-gui</artifactId>
</dependency>

Installation du plugin

MadGuiCore gui = new MadGuiCore();
...
gui.addPlugin(SecurityGuiPlugin.class);
...

Il suffit d'ajouter les actions suivantes dans votre menu.

<menu plugin="com.agf.security.gui.plugin.SecurityGuiPlugin" actionId="UserForm"/>

NB : Les utilisateurs devant modifier les profiles doivent posséder un rôle ayant la fonction administrate-user (cf. security in codjo-security).

Développement

Pour les sessions de développement il est possible de fournir un fichier xml contenant un modèle de sécurité par défaut.

Dans le module serveur, ajouter un fichier /src/config/security.xml avec un contenu similaire à l'exemple ci-dessous:

<model>
    <grants>
        <entry>
            <user name="user_dev"/>
            <list>
                <role name="Administration"/>
            </list>
        </entry>
    </grants>
</model>

Intégration

Pour l'intégration, à partir de la classe AbstractTestMain, il est possible de générer un fichier xml contenant un modèle de sécurité, en définissant:

  • des rôles unitaires
  • des rôles composites
  • des utilisateurs.

Ce fichier xml peut être importé grâce à l[[IHM de Configuration|Guide Utilisateur IHM de codjo-security]].

⚠️ **GitHub.com Fallback** ⚠️