CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[RubyORails] Authentification

[Snakepit]
[Snakepit]
Niveau 9
09 janvier 2015 à 20:44:22

Bonjour,

Problème: Je suis sur mon premier projet ruby on rails et je suis bloqué au niveau de l'authentification.

Situation : J'utilise la gemme Rails_admin pour un Panneau administrateur et j'aimerais qu'il soit accessible que par un admin (moi). Je veux conc que tout les /admin soit bloqué par un login admin ainsi que tous les /new et /update de mon site.

J'ai essayé d'utiliser la gemme devise mais j'ai plus l'impression que c'est une gemme pour les sites avec beaucoup de d'utilisateurs et j'ai pas trop compris comment rajouter des admins.

J'ai besoin de l'aide d'un bon dev ruby pour me conseiller :)

Caletlog
Caletlog
Niveau 10
09 janvier 2015 à 21:56:00

Salut,

Au contraire, Devise c'est la référence pour tous types d'authentification. C'est vraiment une gem formidable, et la solution la plus simple que tu pourras trouver.
Suis les quelques guides fournis sur le wiki github. La première fois ça peut faire un peu peur, mais après c'est un gain de temps phénoménal.

Dans ton cas, il te faut 2 entités à générer. Tu commences par générer les Users, et, ensuite, les Admins, en suivant le guide Devise pour la création de comptes admin. Si tes deux modèles sont quasiment identiques, tu peux éventuellement ne faire qu'une migration pour ajouter un champ booléen "isAdmin" aux Users.
Pour bloquer toutes les routes /admin ainsi que toutes les actions new et update, tu as des tas de possibilité. Sans ajouter une surcouche supplémentaire avec une gestion poussée des permissions (avec une gem type Pundit ou CanCanCan), la solution la plus simple qui me vient en tête, c'est d'ajouter un before_action en :only => [new, update] dans les contrôleurs des ressources concernées (ou le contrôleur de l'application même si toutes les ressources sont concernées) qui vérifie si l'user est admin (et retourne une erreur / redirige si c'est pas le cas).

Enfin, j'ai jamais utilisé Rails_admin donc je sais pas s'il le fait, mais la gem équivalente ActiveAdmin se charge de te créer et configurer l'entité AdminUsers avec Devise si elle n'existe pas déjà lorsque tu bootstrap la gem.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment