2009-08-21 6 views
2

J'ai deux applications dans le même tomcat. l'une de ces applications utilise la sécurité de printemps pour l'authentification. Je voudrais que la méthode getRemoteUser renvoie un nom d'utilisateur valide dans la deuxième application lors de la connexion au premier.sécurité de printemps, tomcat, méthode getRemoteUser

est-il un moyen facile d'y parvenir? pouvez-vous s'il vous plaît me signaler la solution la plus simple possible qui fera cela?

merci pour les réponses

Répondre

0

Je ne crois pas 2 application peut accéder à l'application 1 de l'information de sécurité. Pas directement de toute façon, peut-être en utilisant le remoting, ou les services web vous permettront de faire cela. Cependant, je ne pense pas qu'il y ait une place dans le cadre de sécurité de printemps où vous pouvez passer d'une application à l'autre et obtenir de l'information par le biais du code Java seulement.

0

Cela renverra le courant local utilisateur connecté:

String username = SecurityContextHolder.getContext() 
    .getAuthentication().getName(); 

Donc, si appA est connecté en AppB exposant alors ce contrôleur retournera le nom d'utilisateur, celui utilisé dans appA pour vous connecter en appB. Ce que appA devrait déjà savoir, mmmm:

public class UserController extends AbstractController { 

    @Override 
    protected ModelAndView handleRequestInternal(HttpServletRequest req, 
    HttpServletResponse res) throws Exception { 
     String username = SecurityContextHolder.getContext() 
      .getAuthentication().getName(); 
     ModelAndView mv = new ModelAndView("jsonResponse"); 
     mv.addObject("username", username); 
     return mv; 
    } 
} 
+0

Je pensais plutôt à une sorte de solution de connexion unique afin que Tomcat puisse partager les informations sur la sécurité. Je ne suis pas sûr de savoir comment utiliser la valve SingleSignOn dans Tomcat:/ –

+0

OK. Je viens de terminer un projet SSO en utilisant CAS SSO, Tomcat et Spring Security. C'est vraiment facile à configurer et ça marche très bien. http://www.jasig.org/cas – rodrigoap