CurrentRequest.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package com.yihu.health.util;
  2. import com.yihu.ehr.agModel.user.UserDetailModel;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.security.core.session.SessionInformation;
  5. import org.springframework.security.core.session.SessionRegistry;
  6. import org.springframework.stereotype.Component;
  7. import javax.servlet.http.HttpServletRequest;
  8. /**
  9. * @author lith
  10. * @created 2018/02/06
  11. */
  12. @Component
  13. public class CurrentRequest {
  14. @Autowired
  15. SessionRegistry sessionRegistry;
  16. /**
  17. * 获取当前登录用户,当前已登录的用户都缓存在session中
  18. * @param request
  19. * @return
  20. */
  21. public UserDetailModel getCurrentUser(HttpServletRequest request){
  22. String sessionId = request.getSession().getId();
  23. UserDetailModel user = null;
  24. SessionInformation sessionInformation = sessionRegistry.getSessionInformation(sessionId);
  25. if(null != sessionInformation.getPrincipal()){
  26. user = (UserDetailModel)sessionInformation.getPrincipal();
  27. }
  28. return user;
  29. }
  30. }