Mise en place de codjo security - codjo/codjo-security GitHub Wiki
Cette page décrit comment installer et configurer le plugin de sécurité dans votre application.
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>
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}
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}
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}
- Configuration à faire dans les applications
1.* Applications 3-tier
Il faut que la propriété
SecurityService.config
apparaisse dans le fichierserver-config.properties.
Ce paramétrage vient en plus du paramétrageLDAP
.
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>
- 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>
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);
...
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).
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>
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]].