在Spring Security中获取当前用户信息

 

最近在学习使用Spring Security 3,搜索了一些有用的东西,记录下来

引用来源:http://blog.163.com/tarcy_tw/blog/static/317235320108118119601/

如果只是想从页面上显示当前登陆的用户名,可以直接使用Spring Security提供的taglib。

<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>

username :

        
如果想在程序中获得当前登陆用户对应的对象。

UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext()
    .getAuthentication()
    .getPrincipal();
        
如果想获得当前登陆用户所拥有的所有权限。

GrantedAuthority[] authorities = userDetails.getAuthorities();


public static MyUser getUserInfo(){

MyUser user = (MyUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();

return user;

}

public static Long getSessionMisUserId(){

MyUser user = SessionUtil.getUserInfo();
Long misUserid = -1L;
if(user != null){
misUserid = user.getSessionParam().getMisUserId();
}
return misUserid;
}


public static String getSessionUserId(){
MyUser user = SessionUtil.getUserInfo();
String userid = "";
if(user != null){
userid = user.getSessionParam().getUserId();
}
return userid;

}

你可能感兴趣的:(在Spring Security中获取当前用户信息)