/**
*
*/
package com.solaw.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.context.SecurityContextImpl;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.web.authentication.WebAuthenticationDetails;
import org.springframework.stereotype.Controller;
import com.solaw.domain.User;
import com.solaw.service.UserService;
@Controller
public class UserController
{
private static UserService userService;
@Autowired
public void setUserService(UserService userService) {
UserController.userService = userService;
}
public static User getCurrentUser(HttpServletRequest request)
{
SecurityContextImpl securityContextImpl = (SecurityContextImpl) request
.getSession().getAttribute("SPRING_SECURITY_CONTEXT");
// 1 登录名
System.out.println("Username:"
+ securityContextImpl.getAuthentication().getName());
String account=securityContextImpl.getAuthentication().getName();
User user=userService.findUserByAccount(account);
if(user!=null)
return user;
return null;
}
//获取用户名
public static String getInfoUserName(HttpServletRequest request){
SecurityContextImpl securityContextImpl = (SecurityContextImpl) request
.getSession().getAttribute("SPRING_SECURITY_CONTEXT");
System.out.println("Username:"
+ securityContextImpl.getAuthentication().getName());
return securityContextImpl.getAuthentication().getName();
}
//获取用户密码(hash)
public static String getInfoUserPassword(HttpServletRequest request){
SecurityContextImpl securityContextImpl = (SecurityContextImpl) request
.getSession().getAttribute("SPRING_SECURITY_CONTEXT");
System.out.println("passowrd:"
+ securityContextImpl.getAuthentication().getCredentials());
return (String) securityContextImpl.getAuthentication().getCredentials();
}
//获取用户Ip
public static String getInfoUserIp(HttpServletRequest request){
SecurityContextImpl securityContextImpl = (SecurityContextImpl) request
.getSession().getAttribute("SPRING_SECURITY_CONTEXT");
WebAuthenticationDetails details = (WebAuthenticationDetails) securityContextImpl
.getAuthentication().getDetails();
System.out.println("RemoteAddress" + details.getRemoteAddress());
return (String) details.getRemoteAddress();
}
//获取用户SessionId
public static String getInfoUserSessionId(HttpServletRequest request){
SecurityContextImpl securityContextImpl = (SecurityContextImpl) request
.getSession().getAttribute("SPRING_SECURITY_CONTEXT");
WebAuthenticationDetails details = (WebAuthenticationDetails) securityContextImpl
.getAuthentication().getDetails();
System.out.println("RemoteAddress" + details.getSessionId());
return (String) details.getSessionId();
}
//获取用户权限
public static List<GrantedAuthority> getInfoUserAuthority(HttpServletRequest request){
SecurityContextImpl securityContextImpl = (SecurityContextImpl) request
.getSession().getAttribute("SPRING_SECURITY_CONTEXT");
List<GrantedAuthority> authorities = (List<GrantedAuthority>) securityContextImpl
.getAuthentication().getAuthorities();
for (GrantedAuthority grantedAuthority : authorities) {
System.out.println("Authority:" + grantedAuthority.getAuthority());
}
return authorities;
}
}
springmvc用户登录信息
最新推荐文章于 2024-05-31 18:48:10 发布