L'authentification et l'autorisation au Printemps de Données RESTE

Je me suis mise en œuvre d'un Printemps de Données RESTE en fonction de l'app et je voudrais savoir si il est une manière élégante de mettre en œuvre l'authentification et l'autorisation des règles à l'aide de ce cadre ou cadres connexes.

Toutes les requêtes HTTP vers le RESTE du serveur doit effectuer en-têtes d'authentification, j'ai besoin de vérifier et de décider d'autoriser ou non basé sur la méthode HTTP et de l'association de l'utilisateur authentifié avec la ressource demandée. Par exemple, (l'app est le RESTE de serveur d'un système d'e-learning), les instructeurs peuvent accéder uniquement à leurs propres sections de cours, les étudiants peuvent accéder qu'au cours des sections elles sont souscrites, etc.

Je voudrais savoir si il y a un moyen de mettre en œuvre l'autorisation au Printemps de Données de REPOS. Si la réponse est non, pourriez-vous faire une suggestion pour mon problème? Je pense à propos de:

  • Servlet Filtres
  • Printemps De Sécurité
  • Printemps de Données des autres Gestionnaires (comment accéder aux en-têtes HTTP?)
  • Printemps de sécurité est plutôt pratique et relativement simple à utiliser pour autentication. Vous voudrez peut-être jeter un oeil à ceci: mkyong.com/spring-security/spring-security-form-login-example
  • Vous pouvez utiliser servlet filtres pour atteindre fine autorisation. Voici un exemple: webfarmr.l'ue/2011/05/...
  • Une question est de savoir comment vous avez votre CrudRepository répondre à la SecurityContext (pour récupérer des données pertinentes et limitée à la "utilisateur actuel", par exemple)?
  • Le problème dans l'utilisation de Servlet Filtres et d'autres solutions, c'est que le désérialisé entité est encapsulé dans le Ressort des Données Reste du code, donc je ne peux pas accéder à la pompe du filtre. J'ai besoin de comparer l'entité à l'encontre de l'utilisateur des données présentes dans les en-têtes d'authentification. Je pense en faire un fork de Printemps de Données Reste du code pour créer une couche d'autorisation, en fournissant un AuthorizationLister interface, dans mon application j'ai pu mettre en œuvre une méthode: boolean autoriser(HttpRequest demande, Objet persistentEntity)
  • Rodrigo, avez-vous mettre en œuvre cette? Comment était-il facile à coder, et avez-vous besoin de faire des changements à chaque fois que vous mettez à jour votre source de Données Reste la version?
  • J'espère que cela va vous aider: github.com/srinivas1918/spring-rest-security