IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AngularJS Discussion :

Centraliser les permissions


Sujet :

AngularJS

  1. #1
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 439
    Points
    2 439
    Par défaut Centraliser les permissions
    Bonjour.

    Je travaille sur une application web singlepage (Angular 4 + API REST) avec un système de rôles et de permissions. Par exemple le rôle administrateur peut bannir des utilisateurs, un utilisateur simple ne le peut pas.

    Actuellement ce système est implémenté à deux endroits : côté front (dans les routes Angular) et côté serveur (dans l'API REST).

    Je voudrais centraliser ce système en un endroit, peut-être une base de données.

    Est-ce que vous connaissez des technos pour le faire, une lib Angular4 ou autre ? Ou est-ce que je dois le faire manuellement ?
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  2. #2
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 439
    Points
    2 439
    Par défaut
    Je fournis quelques détails supplémentaire.

    Mon routeur actuel contient plusieurs lignes comme celle-ci :
    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    { path: 'users/:userid/password/update', component: PasswordresetComponent, canActivate: [Role], data: {roles: ['USER','ADMIN']}},
    { path: 'users', component: PasswordresetComponent, canActivate: [Role], data: {roles: ['ADMIN']}},

    L'idée serait de supprimer les informations de roles, et donc la partie data, du routeur, et récupérer les permissions de rôles dynamiquement depuis une base de données.

    J'ai trouvé quelques exemples sur Angular 2, mais rien sur Angular 4.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  3. #3
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par Daïmanu Voir le message
    J'ai trouvé quelques exemples sur Angular 2, mais rien sur Angular 4.
    Angular 2 et Angular 4 c'est exactement le même framework, c'est Angular. Sauf à ce que ce que tu ais trouvé soit cassé par un breaking change de la 2 vers la 4 il n'y a aucune raison pour que cela ne fonctionne pas.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2017
    Messages : 81
    Points : 132
    Points
    132
    Par défaut
    A ma connaissance tu dois le faire manuellement, pourquoi veux-tu tout centraliser?

  5. #5
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 439
    Points
    2 439
    Par défaut
    @Marco46
    Exact, j'ai encore du mal avec les différentes versions d'Angular.

    @pterrat
    Pour deux raisons : si je rajoute une route dans l'application je dois modifier trois éléments, le routeur, la navbar et le serveur de webservices. Donc l'information est dupliquée à plusieurs endroits, ce qui n'est pas bon.
    Aussi si je pars sur une application mobile, et que je me débrouille pour garder la même nomenclature pour les routes et les vues dans l'application, je voudrais éviter de dupliquer l'information une fois de plus.

    Donc l'idée serait de garder le routeur et la navbar aussi simple que possible, dans l'idéal juste déclarer les routes, et faire un appel au webservice avant un changement de page pour savoir si une route est ouverte ou restreinte à un instant t.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  6. #6
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 439
    Points
    2 439
    Par défaut
    Salut.

    J'ai réfléchi à la question, et je pense partir sur un service qui va récupérer des infos sur le serveur et initialiser le routeur avant toutes les autres initialisations.

    Il faut juste que je trouve comment créer un objet de type routeur et comment lancer du code au chargement de l'appli.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  7. #7
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 439
    Points
    2 439
    Par défaut
    Je me heurte à un soucis.

    Le routeur est défini dans app-routing.module.ts, qui ne contient pas de classe. Du coup je ne peux pas injecter de dépendances dans le constructeur, or j'ai besoin d'accéder à un service.
    J'ai vu qu'on peut passer par las classe ReflectiveInjector, mais ça m'a l'air compliqué.

    J'essaye de l'utiliser comme ceci :
    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    let providers = ReflectiveInjector.resolve([PermissionsService, Http]);
    let injector  = ReflectiveInjector.fromResolvedProviders(providers);

    Mais j'ai une erreur au démarrage de l'application Error: No provider for ConnectionBackend! (PermissionsService -> Http -> ConnectionBackend).
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

Discussions similaires

  1. Les permissions de java.policy
    Par au_record dans le forum Sécurité
    Réponses: 1
    Dernier message: 05/06/2006, 16h40
  2. Gérer les permissions en VBA
    Par jojo57 dans le forum Access
    Réponses: 10
    Dernier message: 10/05/2006, 15h17
  3. Réponses: 2
    Dernier message: 15/01/2006, 21h36
  4. Centraliser les accès à la base de données
    Par romaintaz dans le forum JDBC
    Réponses: 10
    Dernier message: 13/01/2006, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo