2016-10-10 1 views
0

.Net 4.6.1.Net MVC WebAPI: faire des méthodes "admin only"?

Je suis encore très nouveau pour .Net et MVC. J'essaie de créer une API, puis ce qui va vraiment être une application javascript qui va consommer l'API. J'ai mille questions mais je vais me concentrer sur un domaine pour cela. Dans le code API, je vois les méthodes qui supportent les opérations CRUD. Je veux que les méthodes d'API en lecture seule soient ouvertes au monde, mais les méthodes d'édition nécessitent une autorisation.

Y at-il une meilleure pratique ici? Dois-je créer deux API? Un pour les actions «publiques» de lecture et un autre pour les opérations d'administration? Puis-je conserver une API et forcer les actions d'édition à exiger l'authentification? J'ai vu une discussion sur l'utilisation des clés API - peut-être avoir des clés API pour les méthodes d'administration?

Répondre

1

Je recommande la lecture de ces articles comme point de départ (et quelques-uns des autres articles de la même section!):
Authentication Filters in ASP.NET Web API 2
Authentication and Authorization in ASP.NET Web API

Vous pouvez activer ou désactiver l'authentification pour l'API Web pratiquement n'importe quel niveau.
Globale, par contrôleur ou par méthode d'action.
Vous pouvez également remplacer quelque chose, donc si vous l'activez globalement, vous pouvez l'éteindre pour un contrôleur ou une méthode particulière. Donc, pour répondre à une partie de votre question, je ne vois pas pourquoi il est nécessaire de créer deux API, mais les articles liés vous aideront.