Comment créer et détruire la session du Printemps RESTE Webservice appelé à partir d'un Mobile client
J'ai de REPOS du Ressort webserivce
Maintenant à partir d'un mobile client webservice est appelé.
Tout d'abord, la méthode d'identification est appelé pour le journal dans le succès ou l'échec basé sur des envoyés de la valeur de l'id utilisateur et le mot de passe.
@RequestMapping(value = "/login", method = RequestMethod.POST, headers="Accept=application/json")
public @ResponseBody List<LogInStatus> getLogIn(@RequestBody LogIn person , HttpServletRequest request) {
//Call service here
List<LogInStatus> lList = logInService.getUser(person);
//service method and then in DAO database method is there
return lList;
}
Maintenant, pour de nombreux autres appels, j'ai besoin de l'utilisateur connecté en fonction des valeurs, donc besoin de garder la session et de la nécessité d'obtenir de l'utilisateur actuel.Et à déconnecter l'appel, de la nécessité de détruire la session.
Comment ce faire et atteindre,s'il vous plaît aider avec des idées.
N'impliquent pas de HTTPSession dans un Service REST de toute façon: stackoverflow.com/questions/544474/...
OriginalL'auteur Pan | 2014-10-27
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de créer une session manuellement - ce qui est fait par le conteneur de servlet.
Vous pouvez obtenir session de HttpServletRequest
ou ajoutez-le simplement comme un paramètre d'une méthode, et Spring MVC va injecter pour vous:
Ensuite, vous pouvez enregistrer les informations utilisateur dans une session via
setAttribute()
/getAttribute()
.Cependant, vous êtes beaucoup mieux d'utiliser de la Sécurité Printemps, qui est destiné seulement pour la tâche - voir @Citrouilles de réponse pour les références.
SecurityContext
contient des informations sur actuellement connecté au principal, que vous pouvez obtenir à partir deSecurityContextHolder
code of being stateless
pour API RESTful? Voir ici: stackoverflow.com/questions/34130036/...Consultez ici les
Common REST mistakes
(stackoverflow.com/questions/544474/...)OriginalL'auteur Vladimir
Vous avez besoin pour intégrer le printemps de sécurité dans votre projet et faire de votre repos des appels via l'authentification de vérificateur de jetons.
Vous pouvez vous référer à la documentation :
http://projects.spring.io/spring-security/
Ou ce joli tutoriel pouvez lancer votre application :
http://www.networkedassets.com/configuring-spring-security-for-a-restful-web-services/
OriginalL'auteur Pumpkin