They should be saved for your by Acegi and available on a ThreadLocale. UserSecurityAdvice has an example:
http://static.appfuse.org/appfuse-service/xref/org/appfuse/service/UserSecurityAdvice.html User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrinciple(); Matt On 8/27/07, BruceLee <[EMAIL PROTECTED]> wrote: > > Basically I want to save username, id and some data in session for being > referred in other modules. Is any other way to get and set them, such as > Security module Authentication class? How to do it? > > -Bruce > > > mraible wrote: > > > > You might try registering Spring's RequestContextListener in your > > web.xml. That way, you can get the request from a ThreadLocal and get > > the session from that. > > > > http://www.springframework.org/docs/api/org/springframework/web/context/request/RequestContextListener.html > > > > Matt > > > > On 8/24/07, BruceLee <[EMAIL PROTECTED]> wrote: > >> > >> Thank Absolut a lot for sharing the helpful code. > >> However when I try to getSession() in the Listener, sometimes it returns > >> null. After I refresh the page serveral times, it gets normal. Any ideas? > >> ---my code--- > >> public void onApplicationEvent(ApplicationEvent event) { > >> // check failed event > >> if(event instanceof AuthenticationSuccessEvent) > >> { > >> ...... > >> HttpSession session = > >> ServletActionContext.getRequest().getSession(); > >> userManager.saveUser(user); > >> userLoggedinManager.saveUserLoggedin(userLoggedin); > >> session.setAttribute("userId",user.getId()); > >> session.setAttribute("username",user.getUsername()); > >> ...... > >> } > >> } > >> > >> -Mike > >> > >> > >> > >> Absolut wrote: > >> > > >> > Or take a look at this code sample from our app: > >> > > >> > public class LoginListener implements ApplicationListener > >> > { > >> > protected Log log = LogFactoryImpl.getLog(getClass()); > >> > private UserManager userManager; > >> > > >> > > >> > > >> > /** > >> > * @param userManager the userManager to set > >> > */ > >> > public void setUserManager(UserManager userManager) { > >> > this.userManager = userManager; > >> > } > >> > > >> > > >> > > >> > /** > >> > * @see > >> > > >> org.springframework.context.ApplicationListener#onApplicationEvent(org.sprin > >> > gframework.context.ApplicationEvent) > >> > */ > >> > public void onApplicationEvent(ApplicationEvent event) { > >> > // check failed event > >> > if(event instanceof AuthenticationSuccessEvent) > >> > { > >> > AuthenticationSuccessEvent authenticationSuccessEvent = > >> > (AuthenticationSuccessEvent) event; > >> > String username = > >> > authenticationSuccessEvent.getAuthentication().getName(); > >> > User user = userManager.getUserByUsername(username); > >> > user.setLastLogin(new Date()); > >> > int loginCount = 0; > >> > if(user.getLoginCount()!= null) > >> > { > >> > loginCount = user.getLoginCount().intValue(); > >> > } > >> > loginCount++; > >> > user.setLoginCount(new Integer(loginCount)); > >> > try > >> > { > >> > userManager.saveUser(user); > >> > } > >> > catch (UserExistsException e) > >> > { > >> > log.error("Error during updating last login for user > >> > ["+username+"]",e); > >> > } > >> > } > >> > > >> > } > >> > > >> > } > >> > > >> > _____ > >> > > >> > Von: Michael Horwitz [mailto:[EMAIL PROTECTED] > >> > Gesendet: Montag, 13. August 2007 10:01 > >> > An: [email protected] > >> > Betreff: Re: [appfuse-user] Add new function after login > >> > > >> > > >> > ACEGI generate Spring application events on login. You will need to > >> create > >> > a > >> > listener to log the appropriate events - do a search on this list, or > >> look > >> > at Spring events on the Spring framework site for more information. > >> > > >> > Mike. > >> > > >> > > >> > On 8/11/07, BruceLee <HYPERLINK > >> "mailto:[EMAIL PROTECTED]"[EMAIL PROTECTED]> > >> > wrote: > >> > > >> > > >> > Team, > >> > I want to add some function e.g. storing login date to database after > >> > login. > >> > What is the hook to add this? Using a filter, interceptor or override > >> some > >> > class? > >> > My env: 1.9.4 WebWork > >> > Thanks! -Bruce > >> > -- > >> > View this message in context: HYPERLINK > >> > > >> "http://www.nabble.com/Add-new-function-after-login-tf4252462s2369.html#a121 > >> > > >> 02596"http://www.nabble.com/Add-new-function-after-login-tf4252462s2369.html > >> > #a12102596 > >> > Sent from the AppFuse - User mailing list archive at HYPERLINK > >> > "http://Nabble.com"Nabble.com. > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: HYPERLINK > >> > > >> "mailto:[EMAIL PROTECTED]"[EMAIL PROTECTED] > >> > .java.net > >> > For additional commands, e-mail: HYPERLINK > >> > "mailto:[EMAIL PROTECTED]"[EMAIL PROTECTED] > >> > > >> > > >> > > >> > > >> > > >> > No virus found in this incoming message. > >> > Checked by AVG Free Edition. > >> > Version: 7.5.476 / Virus Database: 269.11.15/949 - Release Date: > >> > 12.08.2007 > >> > 11:03 > >> > > >> > > >> > > >> > No virus found in this outgoing message. > >> > Checked by AVG Free Edition. > >> > Version: 7.5.476 / Virus Database: 269.11.15/949 - Release Date: > >> > 12.08.2007 > >> > 11:03 > >> > > >> > > >> > > >> > >> -- > >> View this message in context: > >> http://www.nabble.com/Want-to-add-extra-function-like-saving-login-date-in-login-action-tf4252462s2369.html#a12323058 > >> Sent from the AppFuse - User mailing list archive at Nabble.com. > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > -- > > http://raibledesigns.com > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > -- > View this message in context: > http://www.nabble.com/Want-to-add-extra-function-like-saving-login-date-in-login-action-tf4252462s2369.html#a12354405 > Sent from the AppFuse - User mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- http://raibledesigns.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
