configurer le modèle de sécurité par code - codjo/codjo-security GitHub Wiki
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
).
- Il faut commencer par créer un objet
ConfigurationSession
ConfigurationSession session = securityGuiPlugin.getOperations().createConfigurationSession();
- 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"));
- 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
}
});
- 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>