forbidden

La fonction forbidden déclenche une erreur qui affiche une page d'erreur 403 dans Next.js. Elle est utile pour gérer les erreurs d'autorisation dans votre application. Vous pouvez personnaliser l'interface utilisateur en utilisant le fichier forbidden.js.

Pour commencer à utiliser forbidden, activez l'option expérimentale authInterrupts dans votre fichier next.config.js :

import type { NextConfig } from 'next'

const nextConfig: NextConfig = {
  experimental: {
    authInterrupts: true,
  },
}

export default nextConfig

forbidden peut être appelée dans les Composants Serveur, les Actions Serveur et les Gestionnaires de Route.

import { verifySession } from '@/app/lib/dal'
import { forbidden } from 'next/navigation'

export default async function AdminPage() {
  const session = await verifySession()

  // Vérifie si l'utilisateur a le rôle 'admin'
  if (session.role !== 'admin') {
    forbidden()
  }

  // Affiche la page admin pour les utilisateurs autorisés
  return <></>
}

Mutations avec Actions Serveur

Lors de l'implémentation de mutations dans les Actions Serveur, vous pouvez utiliser forbidden pour n'autoriser que les utilisateurs avec un rôle spécifique à mettre à jour des données sensibles.

'use server'

import { verifySession } from '@/app/lib/dal'
import { forbidden } from 'next/navigation'
import db from '@/app/lib/db'

export async function updateRole(formData: FormData) {
  const session = await verifySession()

  // S'assure que seuls les admins peuvent mettre à jour les rôles
  if (session.role !== 'admin') {
    forbidden()
  }

  // Effectue la mise à jour du rôle pour les utilisateurs autorisés
  // ...
}

Historique des versions

VersionChangements
v15.1.0Introduction de forbidden.

On this page