Search in sources :

Example 1 with SysLogininfor

use of com.ruoyi.system.domain.SysLogininfor in project wumei-smart by kerwincui.

the class AsyncFactory method recordLogininfor.

/**
 * 记录登录信息
 *
 * @param username 用户名
 * @param status 状态
 * @param message 消息
 * @param args 列表
 * @return 任务task
 */
public static TimerTask recordLogininfor(final String username, final String status, final String message, final Object... args) {
    final UserAgent userAgent = UserAgent.parseUserAgentString(ServletUtils.getRequest().getHeader("User-Agent"));
    final String ip = IpUtils.getIpAddr(ServletUtils.getRequest());
    return new TimerTask() {

        @Override
        public void run() {
            String address = AddressUtils.getRealAddressByIP(ip);
            StringBuilder s = new StringBuilder();
            s.append(LogUtils.getBlock(ip));
            s.append(address);
            s.append(LogUtils.getBlock(username));
            s.append(LogUtils.getBlock(status));
            s.append(LogUtils.getBlock(message));
            // 打印信息到日志
            sys_user_logger.info(s.toString(), args);
            // 获取客户端操作系统
            String os = userAgent.getOperatingSystem().getName();
            // 获取客户端浏览器
            String browser = userAgent.getBrowser().getName();
            // 封装对象
            SysLogininfor logininfor = new SysLogininfor();
            logininfor.setUserName(username);
            logininfor.setIpaddr(ip);
            logininfor.setLoginLocation(address);
            logininfor.setBrowser(browser);
            logininfor.setOs(os);
            logininfor.setMsg(message);
            // 日志状态
            if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER)) {
                logininfor.setStatus(Constants.SUCCESS);
            } else if (Constants.LOGIN_FAIL.equals(status)) {
                logininfor.setStatus(Constants.FAIL);
            }
            // 插入数据
            SpringUtils.getBean(ISysLogininforService.class).insertLogininfor(logininfor);
        }
    };
}
Also used : TimerTask(java.util.TimerTask) ISysLogininforService(com.ruoyi.system.service.ISysLogininforService) SysLogininfor(com.ruoyi.system.domain.SysLogininfor) UserAgent(eu.bitwalker.useragentutils.UserAgent)

Example 2 with SysLogininfor

use of com.ruoyi.system.domain.SysLogininfor in project hocassian-media-matrix by hokaso.

the class AsyncFactory method recordLogininfor.

/**
 * 记录登录信息
 *
 * @param username 用户名
 * @param status 状态
 * @param message 消息
 * @param args 列表
 * @return 任务task
 */
public static TimerTask recordLogininfor(final String username, final String status, final String message, final Object... args) {
    final UserAgent userAgent = UserAgent.parseUserAgentString(ServletUtils.getRequest().getHeader("User-Agent"));
    final String ip = IpUtils.getIpAddr(ServletUtils.getRequest());
    return new TimerTask() {

        @Override
        public void run() {
            String address = AddressUtils.getRealAddressByIP(ip);
            StringBuilder s = new StringBuilder();
            s.append(LogUtils.getBlock(ip));
            s.append(address);
            s.append(LogUtils.getBlock(username));
            s.append(LogUtils.getBlock(status));
            s.append(LogUtils.getBlock(message));
            // 打印信息到日志
            sys_user_logger.info(s.toString(), args);
            // 获取客户端操作系统
            String os = userAgent.getOperatingSystem().getName();
            // 获取客户端浏览器
            String browser = userAgent.getBrowser().getName();
            // 封装对象
            SysLogininfor logininfor = new SysLogininfor();
            logininfor.setUserName(username);
            logininfor.setIpaddr(ip);
            logininfor.setLoginLocation(address);
            logininfor.setBrowser(browser);
            logininfor.setOs(os);
            logininfor.setMsg(message);
            // 日志状态
            if (Constants.LOGIN_SUCCESS.equals(status) || Constants.LOGOUT.equals(status)) {
                logininfor.setStatus(Constants.SUCCESS);
            } else if (Constants.LOGIN_FAIL.equals(status)) {
                logininfor.setStatus(Constants.FAIL);
            }
            // 插入数据
            SpringUtils.getBean(ISysLogininforService.class).insertLogininfor(logininfor);
        }
    };
}
Also used : TimerTask(java.util.TimerTask) ISysLogininforService(com.ruoyi.system.service.ISysLogininforService) SysLogininfor(com.ruoyi.system.domain.SysLogininfor) UserAgent(eu.bitwalker.useragentutils.UserAgent)

Example 3 with SysLogininfor

use of com.ruoyi.system.domain.SysLogininfor in project RuoYi-Vue-Plus by JavaLionLi.

the class SysLogininforServiceImpl method recordLogininfor.

/**
 * 记录登录信息
 *
 * @param username 用户名
 * @param status   状态
 * @param message  消息
 * @param args     列表
 */
@Async
@Override
public void recordLogininfor(final String username, final String status, final String message, HttpServletRequest request, final Object... args) {
    final UserAgent userAgent = UserAgentUtil.parse(request.getHeader("User-Agent"));
    final String ip = ServletUtils.getClientIP(request);
    String address = AddressUtils.getRealAddressByIP(ip);
    StringBuilder s = new StringBuilder();
    s.append(getBlock(ip));
    s.append(address);
    s.append(getBlock(username));
    s.append(getBlock(status));
    s.append(getBlock(message));
    // 打印信息到日志
    log.info(s.toString(), args);
    // 获取客户端操作系统
    String os = userAgent.getOs().getName();
    // 获取客户端浏览器
    String browser = userAgent.getBrowser().getName();
    // 封装对象
    SysLogininfor logininfor = new SysLogininfor();
    logininfor.setUserName(username);
    logininfor.setIpaddr(ip);
    logininfor.setLoginLocation(address);
    logininfor.setBrowser(browser);
    logininfor.setOs(os);
    logininfor.setMsg(message);
    // 日志状态
    if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER)) {
        logininfor.setStatus(Constants.SUCCESS);
    } else if (Constants.LOGIN_FAIL.equals(status)) {
        logininfor.setStatus(Constants.FAIL);
    }
    // 插入数据
    insertLogininfor(logininfor);
}
Also used : SysLogininfor(com.ruoyi.system.domain.SysLogininfor) UserAgent(cn.hutool.http.useragent.UserAgent) Async(org.springframework.scheduling.annotation.Async)

Example 4 with SysLogininfor

use of com.ruoyi.system.domain.SysLogininfor in project RuoYi-Flowable-Plus by KonBAI-Q.

the class SysLogininforServiceImpl method recordLogininfor.

/**
 * 记录登录信息
 *
 * @param username 用户名
 * @param status   状态
 * @param message  消息
 * @param args     列表
 */
@Async
@Override
public void recordLogininfor(final String username, final String status, final String message, HttpServletRequest request, final Object... args) {
    final UserAgent userAgent = UserAgentUtil.parse(request.getHeader("User-Agent"));
    final String ip = ServletUtils.getClientIP(request);
    String address = AddressUtils.getRealAddressByIP(ip);
    StringBuilder s = new StringBuilder();
    s.append(getBlock(ip));
    s.append(address);
    s.append(getBlock(username));
    s.append(getBlock(status));
    s.append(getBlock(message));
    // 打印信息到日志
    log.info(s.toString(), args);
    // 获取客户端操作系统
    String os = userAgent.getOs().getName();
    // 获取客户端浏览器
    String browser = userAgent.getBrowser().getName();
    // 封装对象
    SysLogininfor logininfor = new SysLogininfor();
    logininfor.setUserName(username);
    logininfor.setIpaddr(ip);
    logininfor.setLoginLocation(address);
    logininfor.setBrowser(browser);
    logininfor.setOs(os);
    logininfor.setMsg(message);
    // 日志状态
    if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER)) {
        logininfor.setStatus(Constants.SUCCESS);
    } else if (Constants.LOGIN_FAIL.equals(status)) {
        logininfor.setStatus(Constants.FAIL);
    }
    // 插入数据
    insertLogininfor(logininfor);
}
Also used : SysLogininfor(com.ruoyi.system.domain.SysLogininfor) UserAgent(cn.hutool.http.useragent.UserAgent) Async(org.springframework.scheduling.annotation.Async)

Example 5 with SysLogininfor

use of com.ruoyi.system.domain.SysLogininfor in project RuoYi-Vue by yangzongzhuan.

the class AsyncFactory method recordLogininfor.

/**
 * 记录登录信息
 *
 * @param username 用户名
 * @param status 状态
 * @param message 消息
 * @param args 列表
 * @return 任务task
 */
public static TimerTask recordLogininfor(final String username, final String status, final String message, final Object... args) {
    final UserAgent userAgent = UserAgent.parseUserAgentString(ServletUtils.getRequest().getHeader("User-Agent"));
    final String ip = IpUtils.getIpAddr(ServletUtils.getRequest());
    return new TimerTask() {

        @Override
        public void run() {
            String address = AddressUtils.getRealAddressByIP(ip);
            StringBuilder s = new StringBuilder();
            s.append(LogUtils.getBlock(ip));
            s.append(address);
            s.append(LogUtils.getBlock(username));
            s.append(LogUtils.getBlock(status));
            s.append(LogUtils.getBlock(message));
            // 打印信息到日志
            sys_user_logger.info(s.toString(), args);
            // 获取客户端操作系统
            String os = userAgent.getOperatingSystem().getName();
            // 获取客户端浏览器
            String browser = userAgent.getBrowser().getName();
            // 封装对象
            SysLogininfor logininfor = new SysLogininfor();
            logininfor.setUserName(username);
            logininfor.setIpaddr(ip);
            logininfor.setLoginLocation(address);
            logininfor.setBrowser(browser);
            logininfor.setOs(os);
            logininfor.setMsg(message);
            // 日志状态
            if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER)) {
                logininfor.setStatus(Constants.SUCCESS);
            } else if (Constants.LOGIN_FAIL.equals(status)) {
                logininfor.setStatus(Constants.FAIL);
            }
            // 插入数据
            SpringUtils.getBean(ISysLogininforService.class).insertLogininfor(logininfor);
        }
    };
}
Also used : TimerTask(java.util.TimerTask) ISysLogininforService(com.ruoyi.system.service.ISysLogininforService) SysLogininfor(com.ruoyi.system.domain.SysLogininfor) UserAgent(eu.bitwalker.useragentutils.UserAgent)

Aggregations

SysLogininfor (com.ruoyi.system.domain.SysLogininfor)5 ISysLogininforService (com.ruoyi.system.service.ISysLogininforService)3 UserAgent (eu.bitwalker.useragentutils.UserAgent)3 TimerTask (java.util.TimerTask)3 UserAgent (cn.hutool.http.useragent.UserAgent)2 Async (org.springframework.scheduling.annotation.Async)2