• 获取用户信息


     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 }
  • 相关阅读:
    AX 2009 实现对display 方法过滤
    AX 2009实现数据验证方法
    AX 2009 实现outlook发送邮件并带多个附件
    AX 2009 销售订单导入导出
    Mixin技术与分布类编程
    关于python装饰器的总结
    作为软件工程师,你必须知道的20个常识
    Python装饰器基础语法总结
    如何成为一名黑客(转)
    python的对象和类
  • 原文地址:https://www.cnblogs.com/mikemhm/p/11080914.html
Copyright © 2020-2023  润新知