This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I've got a question about using acegi. Supose I configure it to use basic or form authentication, and to use my users DB. Spring will retrieve the user from the DB. In the rest of the application I'll need to know the user in order to show only that user data (sales, messages...). But how can I access the user data Spring retrieved.
I don't want that first Spring access the databse and later, in the same request my code access the databse again to retrieve the same data. Is there a way I can access DB only once? Is there a way to access the info Tomcat stores in session?
That's absolutely necessary. Otherwise I'd have to ask the user to login once again as I know the user is logged but I don't know wich user is it.
Thank you very much.
I feel there must be far better ways to do what I do... that makes learning even funnier
When you use Spring Security, the Principal(user) is stored in the SecurityContext. And I believe that there is a helper class that has a method that you can call to get the Principal, I just don't remember the class name.