Appfuse的用户登录使用的是ACEGI安全系统,想搞懂的话至少也得两天。
如果单纯想取得用户名非常简单:
  //先导入几个包
  import org.acegisecurity.Authentication;
  import org.acegisecurity.context.SecurityContextHolder;
   //取得用户的登陆信息(这个信息量很多,自己查一下文档吧)
  Authentication auth = SecurityContextHolder.getContext().getAuthentication();
  
   //下面是取得用户信息,User是Appfuse中已经定义的一个对象
   User user = (User) auth.getPrincipal();
   System.out.println("user name is:"+ user.username);
  
   还可以从auth中取得用户的IP地址:
     import org.acegisecurity.ui.WebAuthenticationDetails;
   // Get IP Address
   WebAuthenticationDetails webAuthenticationDetails = (WebAuthenticationDetails) auth.getDetails();
   String ipAddress = webAuthenticationDetails.getRemoteAddress();