configurer le modèle de sécurité par code - codjo/codjo-security GitHub Wiki

Description

Cette page explique étape par étape la méthode à suivre pour configurer le modèle de sécurité par code Java à partir d'un client (SecurityGuiPlugin).

Etapes

  1. Il faut commencer par créer un objet ConfigurationSession
ConfigurationSession session = securityGuiPlugin.getOperations().createConfigurationSession();
  1. Il faut ensuite ouvrir la session :
session.open(new OpenHandler() {
    public void handleReceiveSecurityModel(ModelManager modelManager) {
        // reception du model
    }


    public void handleCommunicationError(String badThingsHappen) {
        session.close();
    }
});
```{note:title=Attention}
La session marche de manière asynchrone. Le modèle de sécurité n'est pas disponible immédiatement après l'appel à ```open```. Utilisez le ```handler``` pour vous synchroniser.
<table style='background-color: #FFFFCE;'>
       <colgroup><col width='24'><col></colgroup>
         <tr>
           <td valign='top'><img src='attachments/warning.gif' width='16' height='16' align='absmiddle' alt='' border='0'></td>
           <td><p>
1. Lorsque le modèle est disponible, vous pouvez configurer la couche de sécurité. Par exemple pour ajouter un utilisateur avec un role, il suffit de faire :
```java
session.getModelManager().addUser(new User("wilson"));
session.getModelManager().addRoleToUser(new Role("guest"), new User("wilson"));
  1. Pour enregistrer le modèle il faut faire :
session.save(new SaveHandler() {
    public void handleSaveSucceed() {
        // le modele du server est modifié
    }


    public void handleCommunicationError(String badThingsHappen) {
        // erreur de communication
    }
});
  1. Pour terminer la session de configuration:
session.close();
```{note:title=Important}
Il n'est possible d'ouvrir qu'une seule session par application en même temps. Il faut donc absolument fermer une session qui a été ouverte.</p></td>
          </tr>
</table>
⚠️ **GitHub.com Fallback** ⚠️