Authentification de sécurité de printemps basée sur le paramètre de requête
L'application que je suis en train de travailler sur a déjà de Printemps de Sécurité pour gérer authentification basée sur des formulaires. Maintenant, la condition est de login d'un utilisateur par programmation via un service externe si un jeton se trouve dans l'un des paramètres de la requête.
En d'autres termes, si un paramètre de la requête, dire "jeton", existe, il doit faire appel à un service externe avec jeton pour vérifier si il est un jeton valide. Si elle est alors l'utilisateur sera connecté.
Je ne peux pas comprendre comment et où "déclencheur" ou de "raccrocher" le Printemps de Sécurité pour vérifier ce paramètre et faire la vérification puis authentifier l'utilisateur lorsque approprié, car il n'y a pas de formulaire de connexion. J'ai pensé qu'il devrait y avoir quelque chose dans le Printemps de Sécurité, qui peut être étendu ou personnalisés pour le faire?
J'ai regardé à travers le Printemps de Sécurité de la documentation et je me demande si AbstractPreAuthenticatedProcessingfilter est la bonne chose pour commencer?
source d'informationauteur Bing Qiao
Vous devez vous connecter pour publier un commentaire.
J'en ai un similaire d'installation dans mon application. Voici les éléments de base pour autant que je peux dire:
Vous avez besoin pour créer un
AuthenticationProvider
comme suit:Vous devez également créer un
Filter
pour activer le paramètre personnalisé dans un jeton d'authentification:Vous avez besoin pour créer des haricots pour ces:
Enfin, vous devez câbler ces haricots dans la sécurité de votre config (ajuster en conséquence):
Il y a peut être une autre façon, mais cela fonctionne bien (à l'aide de Printemps de Sécurité 3.1 pour le moment).
Si vous utilisez Spring MVC contrôleur ou d'un service, où targe paramètre de la requête est passé, puis vous pouvez utiliser @exiger une autorisation préalable de Printemps de sécurité de l'annotation.
Dire, vous avez quelques Printemps service qui permet de vérifier passé jeton et effectuer l'authentification si elle est adoptée jeton est valide:
Puis, avec le Printemps de sécurité @exiger une autorisation préalable de l'annotation que vous pouvez faire cela, il manière suivante:
Aussi, vous devez activer la sécurité Printemps annotations et ajouter le printemps-la sécurité-les aspects de POM (ou pot à classpath).
Il y a un blog avec une solution détaillée pour la mise en œuvre Personnalisée à base de jetons Sessionless l'authentification avec le Printemps de Sécurité, Espérons que cette aide.
http://javattitude.com/2014/06/07/spring-security-custom-token-based-rest-authentication/