zoukankan      html  css  js  c++  java
  • 获取用户信息

     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 }
  • 相关阅读:
    Android面试题
    java面试题大全
    关于索引的sql语句优化之降龙十八掌
    java动态代理的实现
    java动态代理
    进程与线程
    SqlServer聚合函数
    2015年创业中遇到的技术问题:21-30
    hadoop集群ambari搭建(2)之制作hadoop本地源
    Android录屏命令、Android录Gif、Android录视频
  • 原文地址:https://www.cnblogs.com/mikemhm/p/11080914.html
Copyright © 2011-2022 走看看