springmvc用户登录信息

来源:互联网 发布:理财产品软件 编辑:程序博客网 时间:2024/04/25 14:57
/** *  */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;@Controllerpublic class UserController {private static UserService userService;@Autowiredpublic 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();}//获取用户Ippublic 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();}//获取用户SessionIdpublic 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;}}

0 0
原创粉丝点击