获取用户信息
1 /**
2 * 獲取用戶名 從session中
3 * 1.怎么拿到session? 不敢保證只有一個 裝配不行 傳參不行
4 *
5 * 通過RequestContextHolder 中的方法 可以獲取的是當前請求
6 */
7 ServletRequestAttributes requestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
8 HttpServletRequest request = requestAttributes.getRequest();
9 /**
10 * 通過當前請求 獲取的一定是當前用戶對應的session 參照session原理
11 */
12 HttpSession session = request.getSession();
13 // 從session中獲取管理員信息
14 CmfzAdmin cmfzAdmin = (CmfzAdmin) session.getAttribute("admin");
15 cmfzLog.setUserName(cmfzAdmin.getUsername());
16
17 // 獲取ip地址
18 String ipAddrByRequest = IPKit.getIpAddrByRequest(request);
19 cmfzLog.setLogIp(ipAddrByRequest);
?
?
1 public class IPKit { 2 /** 3 * @param request 請求 4 * @return IP Address 5 */ 6 public static String getIpAddrByRequest(HttpServletRequest request) { 7 String ip = request.getHeader("x-forwarded-for"); 8 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 9 ip = request.getHeader("Proxy-Client-IP"); 10 } 11 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 12 ip = request.getHeader("WL-Proxy-Client-IP"); 13 } 14 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 15 ip = request.getRemoteAddr(); 16 } 19 return ip; 20 } 21 }?
轉載于:https://www.cnblogs.com/mikemhm/p/11080914.html
總結
- 上一篇: 密码检验规则(字母数字和特殊字符组成的混
- 下一篇: 前台Vue、后台Django、设置axi