Authentification par formulaire dans API Web ASP.NET

par Mike Wasson

L’authentification par formulaire utilise un formulaire HTML pour envoyer les informations d’identification de l’utilisateur au serveur. Il ne s’agit pas d’une norme Internet. L’authentification par formulaire convient uniquement aux API web appelées à partir d’une application web, afin que l’utilisateur puisse interagir avec le formulaire HTML.

Avantages Inconvénients
  • Facile à implémenter : intégré à ASP.NET.
  • Utilise ASP.NET fournisseur d’appartenance, ce qui facilite la gestion des comptes d’utilisateur.
  • Pas un mécanisme d’authentification HTTP standard ; utilise des cookies HTTP au lieu de l’en-tête d’autorisation standard ; certains utilisateurs désactivent les cookies.
  • Difficile à utiliser à partir de clients non-rowser. La connexion nécessite un navigateur.
  • Les informations d’identification de l’utilisateur sont envoyées en texte clair dans la demande.
  • Vulnérable à la falsification de demandes intersite (CSRF) ; nécessite des mesures anti-CSRF.

En bref, l’authentification par formulaire dans ASP.NET fonctionne comme suit :

  1. Le client demande une ressource qui nécessite une authentification.
  2. Si l’utilisateur n’est pas authentifié, le serveur retourne HTTP 302 (Trouvé) et redirige vers une page de connexion.
  3. L’utilisateur entre des informations d’identification et envoie le formulaire.
  4. Le serveur retourne un autre HTTP 302 qui redirige vers l’URI d’origine. Cette réponse inclut un cookie d’authentification.
  5. Le client demande à nouveau la ressource. La demande inclut le cookie d’authentification, de sorte que le serveur accorde la demande.

Illustration du fonctionnement de l’authentification par formulaire dans un point Net S P

Pour plus d’informations, consultez Vue d’ensemble de l’authentification par formulaire.

Utilisation de l’authentification par formulaire avec l’API web

Pour créer une application qui utilise l’authentification par formulaire, sélectionnez le modèle « Application Internet » dans l’Assistant projet MVC 4. Ce modèle crée des contrôleurs MVC pour la gestion des comptes. Vous pouvez également utiliser le modèle « Application monopage », disponible dans la mise à jour ASP.NET automne 2012.

Dans vos contrôleurs d’API web, vous pouvez restreindre l’accès à l’aide de l’attribut[Authorize], comme décrit dans Utilisation de l’attribut [Autoriser].

L’authentification par formulaire utilise un cookie de session pour authentifier les demandes. Les navigateurs envoient automatiquement tous les cookies pertinents au site web de destination. Cette fonctionnalité rend l’authentification par formulaire potentiellement vulnérable aux attaques de falsification de requête intersite (CSRF) voir Prévention des attaques par falsification de requête intersite (CSRF).

L’authentification par formulaire ne chiffre pas les informations d’identification de l’utilisateur. Par conséquent, l’authentification par formulaire n’est pas sécurisée, sauf si elle est utilisée avec SSL. Consultez Utilisation de SSL dans l’API web.