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

ASP.NET Discussion :

WebAPI: Comment détecter si l’accès à une ressource est autorisée si l'api est RESTful?


Sujet :

ASP.NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut WebAPI: Comment détecter si l’accès à une ressource est autorisée si l'api est RESTful?
    Je suis certain que cette question va paraître stupide mais disons que j'ai une ressource dans une WebAPI qui est: api/v1/entities/{entityId}

    Si maintenant dans une application de type Angular 2+, j'ai besoin de savoir si cette ressource est accessible par l'utilisateur courant (e.g. call dans une Guard conditionnant l’accès pour un certain composant), comment est-ce que je peux faire ?

    Note: je parle bien de connaitre l’accès (true / false) sur cette ressource et non de récupérer la ressource pour le moment.

    Est-ce qu'il vaudrait mieux faire:
    • GET sur la ressource même si on ne se sert pas de la ressource en soi, ce qui gaspille un bon nombre de bytes transférés sans compter qu'il faudra compter sur l'analyse du http status code pour déterminer interpréter si l’accès à la dite ressource est ok
    • HEAD sur la ressource, ce qui correspond au cas du dessus mais sans retour de la ressource.
    • OPTIONS sur la ressource et interpréter que si GET est parmi les verbes retournés c'est OK.
    • Utiliser une autre ressource api/v1/entities/{entityId}/authorized (pas RESTful du tout) ou api/v1/auth/me/entities/{entityId} (pas vraiment mieux)
    • Autre solution ?


    Je sais qu'il n'y a pas vraiment de standards REST donc les recommandations sont toujours à prendre avec des pincettes mais cette question me hante depuis quelques temps.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    En general on utilise HEAD et on renvoie un code HTTP different en fonction de la situation, ce qui laisse plus d'options qu'un simple booleen (true/false).
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. [C#] Comment inserer Image depuis une ressource ?
    Par EagleEye dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/01/2006, 13h09
  2. Réponses: 3
    Dernier message: 03/01/2006, 18h04
  3. Réponses: 1
    Dernier message: 22/12/2005, 17h28
  4. Réponses: 9
    Dernier message: 08/12/2004, 14h36
  5. Comment peut-on dire : une bdd est petite, moyenne ou grosse
    Par Pierrinot dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 20/10/2004, 08h40

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