美文网首页
获取当前用户信息

获取当前用户信息

作者: 林太浪先生 | 来源:发表于2019-03-26 11:56 被阅读0次

public class RequestContextFilter implements Filter {

private boolean ssoEnabled;

    @Override

    public void init(FilterConfig filterConfig)throws ServletException {

ssoEnabled = Boolean.TRUE.toString().equals(filterConfig.getInitParameter("ssoEnabled"));

    }

@Override

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)throws IOException, ServletException {

String remoteUser = ((HttpServletRequest) servletRequest).getRemoteUser();

        if (!ssoEnabled || Strings.isNullOrEmpty(remoteUser)) {

remoteUser = CommonConstants.DEFAULT_USER;

        }

LocalUserInfo localUserInfo =new LocalUserInfo();

        // 将用户信息存放到threadLocal中

        // 对于有权限调试的用户,可以修改当前登录用户名

        String debugUser = CommonConstants.DEBUG_USER_MAP.get(remoteUser);

        if (!Strings.isNullOrEmpty(debugUser)) {

localUserInfo.setUserId(debugUser);

        }else {

localUserInfo.setUserId(remoteUser);

        }

localUserInfo.setRealUserId(remoteUser);

        RequestContextUtil.setLocalUserInfo(localUserInfo);

        filterChain.doFilter(servletRequest, servletResponse);

    }

@Override

    public void destroy() {

}

}

相关文章

网友评论

      本文标题:获取当前用户信息

      本文链接:https://www.haomeiwen.com/subject/fukgvqtx.html