Bonjour,

j'ai une application spring démarrée avec un WebContext. Parmis les beans request scope que je dois initialiser, il y en a un qui a une propriété String qui doit correspondre à l'utilisateur courant. Hors je n'arrive pas à trouver comment initialiser ce bean proprement. J'essaie d'avoir un truc du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
	<bean class="company.SecurityContext" id="userSecurityContext"
		scope="request" p:user="????" >
		<aop:scoped-proxy />
	</bean>
Problème, que mettre à la place de ???, je ne trouve pas doc dans spring ou autre sur comment en expression language accéder à l'information dont j'ai besoin, un truc comme ${request.userPrincipal.name}. Pour le moment je suis obligé de me tapper cette moche factory:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SecurityContext sc = new SecurityContext();
		Principal principal = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest().getUserPrincipal();
		if (principal!=null)
			sc.setUser(principal.getName());
                return sc;
mais j'aimerais éviter d'amener cette logique dans le code, d'autant que j'ai d'autres propriété à initialiser depuis des fichier properties, ça pourrait vite devenir inutilement compliqué.