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();
如果单纯想取得用户名非常简单:
//先导入几个包
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();
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货