{"id":37988,"date":"2024-07-16T06:27:39","date_gmt":"2024-07-16T06:27:39","guid":{"rendered":"https:\/\/www.railscarma.com\/?p=37988"},"modified":"2024-07-16T06:27:43","modified_gmt":"2024-07-16T06:27:43","slug":"maitriser-les-autorisations-dans-rails-avec-pundit-gem","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/fr\/blog\/maitriser-les-autorisations-dans-rails-avec-pundit-gem\/","title":{"rendered":"Ma\u00eetriser l'autorisation dans Rails avec Pundit Gem"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"37988\" class=\"elementor elementor-37988\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b9f0dee elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b9f0dee\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-927286c\" data-id=\"927286c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5798ecc elementor-widget elementor-widget-text-editor\" data-id=\"5798ecc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>L'autorisation est un \u00e9l\u00e9ment essentiel de toute application web, car elle garantit que les utilisateurs ne peuvent acc\u00e9der qu'aux ressources auxquelles ils sont autoris\u00e9s. Pundit est une biblioth\u00e8que d'autorisation populaire pour Ruby on Rails qui permet aux d\u00e9veloppeurs de d\u00e9finir des r\u00e8gles d'acc\u00e8s fines. Cet article vous guidera dans l'utilisation de Pundit gem pour l'autorisation dans une application Web. <a href=\"https:\/\/www.railscarma.com\/fr\/developpement-dapplications-de-rails-personnalises\/\">Application Rails<\/a>avec un exemple \u00e0 l'appui.<\/p>\n<p><\/p>\n<h2><b>Guide \u00e9tape par \u00e9tape&nbsp;<\/b><\/h2>\n<p><b>1. Ajouter Pundit \u00e0 votre application Rails<\/b><\/p>\n<p>Tout d'abord, ajoutez Pundit \u00e0 votre Gemfile et lancez l'installation du bundle :<\/p>\n<p><\/p>\n<pre>gemme 'pundit'<\/pre>\n<p><br><\/p>\n<pre>installation group\u00e9e<\/pre>\n<p>Ensuite, g\u00e9n\u00e9rez les fichiers d'installation de Pundit :<\/p>\n<p><\/p>\n<pre>rails generate pundit:install<\/pre>\n<p>Cela cr\u00e9era un <b>application_policy.rb<\/b> dans le r\u00e9pertoire app\/policies, qui sert de politique par d\u00e9faut pour tous les mod\u00e8les.<\/p>\n<p><b>2. D\u00e9finition des politiques<br><\/b>Dans Pundit, les politiques sont des objets Plain Old Ruby (PORO) qui encapsulent la logique d'autorisation. Chaque politique correspond \u00e0 un mod\u00e8le de votre application. Prenons un exemple simple : nous avons un mod\u00e8le Post et nous voulons d\u00e9finir des r\u00e8gles d'autorisation pour ce mod\u00e8le.<\/p>\n<p><b>Cr\u00e9er une politique pour le mod\u00e8le Post :<\/b><\/p>\n<p><\/p>\n<pre>rails g\u00e9n\u00e9rer pundit:policy post<\/pre>\n<p>Cela g\u00e9n\u00e8re un <b>post_policy.rb <\/b>dans le r\u00e9pertoire app\/policies.<\/p>\n<p><b>3. Mise en \u0153uvre de la logique d'autorisation<br><\/b>Ouvrez le fichier post_policy.rb et d\u00e9finissez les r\u00e8gles d'autorisation :<\/p>\n<pre>classe PostPolicy &lt; ApplicationPolicy\n  def index ?\n    vrai\n  end\n\n  def show ?\n    true\n  end\n\n  def create ?\n    user.present ?\n  end\n\n  def update ?\n    user.present ? &amp;&amp; user == record.user\n  end\n\n  def destroy ?\n    user.present ? &amp;&amp; user == record.user\n  end\nend<br><\/pre>\n<p>Nous d\u00e9finissons ici les m\u00e9thodes correspondant \u00e0 chaque action (indexer ?, afficher ?, cr\u00e9er ?, mettre \u00e0 jour ? et d\u00e9truire ?). Ces m\u00e9thodes renvoient un message vrai ou faux en fonction de l'utilisateur et de l'enregistrement auquel on acc\u00e8de.<\/p>\n<p><b>4. Utilisation de strat\u00e9gies dans les contr\u00f4leurs<br><\/b>Dans vos contr\u00f4leurs, vous pouvez utiliser Pundit pour autoriser des actions. Tout d'abord, incluez le module Pundit dans l'ApplicationController :<\/p>\n<p><\/p>\n<pre>classe ApplicationController &lt; ActionController::Base<br>y compris Pundit<br>fin<\/pre>\n<p>Ensuite, utilisez la m\u00e9thode authorize pour v\u00e9rifier l'autorisation dans votre PostsController :<\/p>\n<p><\/p>\n<pre>classe PostsController &lt; ApplicationController\n  before_action :authenticate_user !\n  before_action :set_post, only : [:show, :edit, :update, :destroy]\n\n  def index\n    @posts = Post.all\n    autoriser @posts\n  end\n\n  def show\n  end\n\n  def new\n    @post = Post.new\n    autoriser @post\n  end\n\n  def create\n    @post = current_user.posts.build(post_params)\n    autoriser @post\n    si @post.save\n      redirect_to @post, notice : &#039;Le message a \u00e9t\u00e9 cr\u00e9\u00e9 avec succ\u00e8s.&#039;\n    else\n      render :new\n    end\n  end\n\n  def edit\n    autoriser @post\n  end\n\n  def update\n    autoriser @post\n    si @post.update(post_params)\n      redirect_to @post, notice : &#039;Le message a \u00e9t\u00e9 mis \u00e0 jour avec succ\u00e8s.&#039;\n    else\n      render :edit\n    end\n  end\n\n  def destroy\n    autoriser @post\n    @post.destroy\n    redirect_to posts_url, notice : &#039;Le message a \u00e9t\u00e9 d\u00e9truit avec succ\u00e8s.&#039;\n  end\n\n  priv\u00e9\n\n  def set_post\n    @post = Post.find(params[:id])\n  end\n\n  def post_params\n    params.require(:post).permit(:title, :body)\n  end\nend<br><\/pre>\n<p>Dans ce contr\u00f4leur, nous utilisons authorize pour v\u00e9rifier les permissions avant d'effectuer des actions.<\/p>\n<p><b>5. Traitement des acc\u00e8s non autoris\u00e9s<br><\/b>Pundit l\u00e8ve une erreur Pundit::NotAuthorizedError si un utilisateur n'est pas autoris\u00e9 \u00e0 effectuer une action. Vous pouvez g\u00e9rer cette erreur globalement dans l'ApplicationController :<\/p>\n<pre>class ApplicationController &lt; ActionController::Base\n  include Pundit\n\n  rescue_from Pundit::NotAuthorizedError, with : :user_not_authorized\n\n  private\n\n  def user_not_authorized\n    flash[:alert] = &quot;Vous n&#039;\u00eates pas autoris\u00e9 \u00e0 effectuer cette action.&quot;\n    redirect_to(request.referrer || root_path)\n  end\nfin<br><\/pre>\n<p>Ainsi, si un utilisateur tente d'effectuer une action non autoris\u00e9e, il sera redirig\u00e9 vers un message d'erreur.<\/p>\n<p><\/p>\n<h2><b>Conclusion<\/b><\/h2>\n<p>L'utilisation de Pundit pour l'autorisation dans Rails est un moyen puissant et flexible de contr\u00f4ler l'acc\u00e8s aux ressources dans votre application. En d\u00e9finissant des politiques et en les utilisant dans vos contr\u00f4leurs, vous pouvez vous assurer que les utilisateurs ne peuvent effectuer que les actions pour lesquelles ils sont autoris\u00e9s. Nous avons couvert les bases, mais Pundit prend \u00e9galement en charge des sc\u00e9narios plus complexes, y compris les champs d'application et les g\u00e9n\u00e9rateurs de politiques personnalis\u00e9s.<\/p>\n<p>Pour plus d'informations, consultez le site&nbsp;<a href=\"https:\/\/github.com\/varvet\/pundit\" target=\"_blank\" style=\"font-size: 16px; background-color: rgb(255, 255, 255);\">D\u00e9p\u00f4t GitHub Pundit<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articles Similaires<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Qu&#039;est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/quest-ce-que-offliberty-ruby-gem-et-comment-fonctionne-t-il\/?related_post_from=41304\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Offliberty Ruby Gem\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Qu&#039;est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/quest-ce-que-offliberty-ruby-gem-et-comment-fonctionne-t-il\/?related_post_from=41304\">\r\n        Qu'est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"M\u00e9thode Rails link_to : Le guide complet avec des exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/rails-link_to-method-the-complete-guide-with-examples\/?related_post_from=41296\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png\" class=\"attachment-full size-full wp-post-image\" alt=\"M\u00e9thode Rails link_to\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"M\u00e9thode Rails link_to : Le guide complet avec des exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/rails-link_to-method-the-complete-guide-with-examples\/?related_post_from=41296\">\r\n        M\u00e9thode Rails link_to : Le guide complet avec des exemples  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/?related_post_from=41273\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Construire une plateforme SaaS avec Ruby on Rails\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/?related_post_from=41273\">\r\n        Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/?related_post_from=41249\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Ruby Regex Match\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/?related_post_from=41249\">\r\n        Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Authorization is a critical component of any web application, ensuring that users can only access resources they are permitted to. Pundit is a popular authorization library for Ruby on Rails that allows developers to define fine-grained access rules. This article will guide you through using the Pundit gem for authorization in a Rails application, complete &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples<\/span> Lire la suite \u00bb<\/a><\/p>","protected":false},"author":5,"featured_media":37993,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1224],"tags":[],"class_list":["post-37988","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mastering Authorization in Rails with Pundit Gem - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development<\/title>\n<meta name=\"description\" content=\"Mastering Authorization in Rails with Pundit Gem. This guide covers setup, defining policies, and authorization in your Rails project.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/maitriser-les-autorisations-dans-rails-avec-pundit-gem\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mastering Authorization in Rails with Pundit Gem - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"og:description\" content=\"Mastering Authorization in Rails with Pundit Gem. This guide covers setup, defining policies, and authorization in your Rails project.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/fr\/blog\/maitriser-les-autorisations-dans-rails-avec-pundit-gem\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-16T06:27:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-16T06:27:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Mastering-Authorization-in-Rails-with-Pundit-Gem.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nikhil\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nikhil\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/\"},\"author\":{\"name\":\"Nikhil\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c\"},\"headline\":\"Mastering Authorization in Rails with Pundit Gem\",\"datePublished\":\"2024-07-16T06:27:39+00:00\",\"dateModified\":\"2024-07-16T06:27:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/\"},\"wordCount\":383,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Mastering-Authorization-in-Rails-with-Pundit-Gem.png\",\"articleSection\":[\"Blogs\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/\",\"name\":\"Mastering Authorization in Rails with Pundit Gem - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Mastering-Authorization-in-Rails-with-Pundit-Gem.png\",\"datePublished\":\"2024-07-16T06:27:39+00:00\",\"dateModified\":\"2024-07-16T06:27:43+00:00\",\"description\":\"Mastering Authorization in Rails with Pundit Gem. This guide covers setup, defining policies, and authorization in your Rails project.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Mastering-Authorization-in-Rails-with-Pundit-Gem.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Mastering-Authorization-in-Rails-with-Pundit-Gem.png\",\"width\":800,\"height\":300,\"caption\":\"Mastering Authorization in Rails with Pundit Gem\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mastering Authorization in Rails with Pundit Gem\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c\",\"name\":\"Nikhil\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g\",\"caption\":\"Nikhil\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ma\u00eetriser l'autorisation dans Rails avec Pundit Gem - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","description":"Ma\u00eetriser les autorisations dans Rails avec Pundit Gem. Ce guide couvre l'installation, la d\u00e9finition des politiques et l'autorisation dans votre projet Rails.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/fr\/blog\/maitriser-les-autorisations-dans-rails-avec-pundit-gem\/","og_locale":"fr_FR","og_type":"article","og_title":"Mastering Authorization in Rails with Pundit Gem - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","og_description":"Mastering Authorization in Rails with Pundit Gem. This guide covers setup, defining policies, and authorization in your Rails project.","og_url":"https:\/\/www.railscarma.com\/fr\/blog\/maitriser-les-autorisations-dans-rails-avec-pundit-gem\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2024-07-16T06:27:39+00:00","article_modified_time":"2024-07-16T06:27:43+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Mastering-Authorization-in-Rails-with-Pundit-Gem.png","type":"image\/png"}],"author":"Nikhil","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"\u00c9crit par":"Nikhil","Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/"},"author":{"name":"Nikhil","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c"},"headline":"Mastering Authorization in Rails with Pundit Gem","datePublished":"2024-07-16T06:27:39+00:00","dateModified":"2024-07-16T06:27:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/"},"wordCount":383,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Mastering-Authorization-in-Rails-with-Pundit-Gem.png","articleSection":["Blogs"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/","url":"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/","name":"Ma\u00eetriser l'autorisation dans Rails avec Pundit Gem - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Mastering-Authorization-in-Rails-with-Pundit-Gem.png","datePublished":"2024-07-16T06:27:39+00:00","dateModified":"2024-07-16T06:27:43+00:00","description":"Ma\u00eetriser les autorisations dans Rails avec Pundit Gem. Ce guide couvre l'installation, la d\u00e9finition des politiques et l'autorisation dans votre projet Rails.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Mastering-Authorization-in-Rails-with-Pundit-Gem.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Mastering-Authorization-in-Rails-with-Pundit-Gem.png","width":800,"height":300,"caption":"Mastering Authorization in Rails with Pundit Gem"},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/mastering-authorization-in-rails-with-pundit-gem\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Mastering Authorization in Rails with Pundit Gem"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","description":"RailsCarma est une soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails \u00e0 Bangalore. Nous sommes sp\u00e9cialis\u00e9s dans le d\u00e9veloppement offshore Ruby on Rails, bas\u00e9s aux \u00c9tats-Unis et en Inde. Embauchez des d\u00e9veloppeurs Ruby on Rails exp\u00e9riment\u00e9s pour une exp\u00e9rience Web ultime.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c","name":"Nikhil","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g","caption":"Nikhil"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/37988","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/comments?post=37988"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/37988\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media\/37993"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media?parent=37988"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/categories?post=37988"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/tags?post=37988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}