web-dev-qa-db-fra.com

jhipster- comment ajouter un nouveau rôle

J'essaie d'ajouter un nouveau rôle (ROLE_REPORTS) sur un projet généré à l'aide de JHipster. Je peux voir les tables qui doivent être mises à jour (mappage de rôle, d'autorité et de role_authority), mais je ne suis pas sûr de savoir comment s'y prendre pour la partie Java de celle-ci.

Je peux comprendre quelques détails, mais je crains que ma personnalisation ne respecte certains principes de conception (comme l'API Swagger, Spring Security, etc.).

Quelqu'un a-t-il déjà tenté de le faire et, dans l'affirmative, toute aide dans la bonne direction sera vivement appréciée.

21
user1880957

Ajoutez-le à security/AuthoritiesConstants.Java. et webapps/scripts/contstants.js. Dans l'exemple ci-dessous, une autorité/un rôle de MANAGER a été ajouté.

public final class AuthoritiesConstants {

    private AuthoritiesConstants() {
    }

    public static final String ADMIN = "ROLE_ADMIN";

    public static final String USER = "ROLE_USER";

    public static final String MANAGER = "ROLE_MANAGER";

    public static final String ANONYMOUS = "ROLE_ANONYMOUS";
}

Et dans constants.js:

myApp.constant('USER_ROLES', {
        'all': '*',
        'admin': 'ROLE_ADMIN',
        'user': 'ROLE_USER',
        'manager', 'ROLE_MANAGER'
    });

Le nouveau rôle doit être ajouté à la base de données. Par exemple, les autorités.csv:

name
ROLE_ADMIN
ROLE_USER
ROLE_MANAGER
23
Rori Stumpf

Ce sera encore plus facile dans 4.5.5

1- Modifier AuthoritiesConstants.Java

2- Ajouter un nouveau rôle dans le fichier autorités.csv

réexécutez l'application, le nouveau rôle devrait apparaître dans l'interface (Administration/gestion des utilisateurs/créer un nouvel utilisateur) (il peut être utile de supprimer le contenu cible\h2db\db de votre application)

2
krish

Pour Jhipter 4.3, il existe cette solution:

  1. Modifier AuthoritiesConstants.Java
  2. Ajouter un nouveau rôle dans le fichier autorités.csv
  3. Mettez à jour la table JHI_AUTHORITY en incluant le nouveau rôle.
  4. Modifiez le fichier user-management-dialog-composant.ts situé ici\webapp\app\admin\user-management

Réexécutez l'application. Le nouveau rôle devrait apparaître dans l'interface (Administration/gestion des utilisateurs/créer un nouvel utilisateur). (Peut-être qu'il pourrait être utile de supprimer le contenu cible\h2db\db de votre application.)

1
Yannard

L'ajout des valeurs à la autorités.csv ne les ajouterait pas directement aux tables, car il ne s'agit que d'une valeur ajoutée à la table. Il n'y a donc pas de différence dans la modification Liquibase, nous devrons l'ajouter manuellement à la base de données ...

0
faizal khan