2017-08-17 1 views
0

Par exemple j'ai posts point d'extrémité, post ai title, description, status. Lorsque je montre poste à l'utilisateur, je veux limiter les champs post à title et description. Mais quand je montre post à l'administrateur, je veux envoyer tous les champs de post, alors comment ça crache? Je peux créer deux modèles de poste, pour l'utilisateur qui se composent de title et description, pour l'administrateur avec tous les champs, regardez quel est le rôle de l'utilisateur et décider quel modèle choisir. Ou créer une règle sur chaque modèle et rôle, qui regarde le rôle et coupe les données par rôle. J'utilise graphql et je ne peux récupérer que les champs dont j'ai besoin, mais ce n'est pas une question de sécurité, car l'utilisateur peut modifier la requête et saisir toutes les données. Comment résoudre ce problème?Comment diviser les champs de données et la logique en fonction de l'autorisation?

Merci!

Répondre

1

Je ne voudrais pas créer deux modèles, mais limiter l'accès d'un utilisateur à seulement title et description côté serveur.

Du côté du client, je demanderais seulement status en outre si l'utilisateur est admin. (Pour rendre ceci élégant, voir fragments.)

Vous devez identifier sur le côté serveur si quelqu'un est administrateur ou utilisateur normal, sinon aucune API ne peut vous sauver des demandes modifiées.