50 lines
1.6 KiB
Java
50 lines
1.6 KiB
Java
package com.yaoyuan.jiscuss.controller;
|
|
|
|
import com.yaoyuan.jiscuss.entity.UserInfo;
|
|
import org.springframework.security.core.Authentication;
|
|
import org.springframework.security.core.context.SecurityContext;
|
|
import org.springframework.security.core.userdetails.User;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpSession;
|
|
import java.util.Enumeration;
|
|
|
|
/**
|
|
* @author yaoyuan2.chu
|
|
* @Title: BaseController
|
|
* @Package com.yaoyuan.jiscuss.controller
|
|
* @Description: BaseController
|
|
* @date 2020/7/16 14:36
|
|
*/
|
|
public class BaseController {
|
|
|
|
/**
|
|
* 获取当前用户
|
|
*
|
|
* @return
|
|
*/
|
|
protected UserInfo getUserInfo(HttpServletRequest request) {
|
|
UserInfo user = null;
|
|
//获得session对象
|
|
HttpSession session = request.getSession();
|
|
//取出session域中所有属性名
|
|
Enumeration attributeNames = session.getAttributeNames();
|
|
while (attributeNames.hasMoreElements()) {
|
|
System.out.println(attributeNames.nextElement());
|
|
}
|
|
//SPRING_SECURITY_CONTEXT
|
|
Object spring_security_context = session.getAttribute("SPRING_SECURITY_CONTEXT");
|
|
System.out.println(spring_security_context);
|
|
SecurityContext securityContext = (SecurityContext) spring_security_context;
|
|
if (securityContext != null) {
|
|
//获得认证信息
|
|
Authentication authentication = securityContext.getAuthentication();
|
|
//获得用户详情
|
|
Object principal = authentication.getPrincipal();
|
|
user = (UserInfo) principal;
|
|
}
|
|
return user;
|
|
}
|
|
|
|
}
|