springmvc用户登录信息

/**
 * 
 */
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;
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值