最近在学习使用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" %>
<div>username : <sec:authentication property="name"/></div>
如果想在程序中获得当前登陆用户对应的对象。
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;
}