0

我正在尝试为可以访问请求上下文的 Wildfly 10 创建一个登录模块。我必须确定请求 url。我还必须分析 GET 参数以检查是否设置了令牌。

如何访问基于“UsernamePasswordLoginModule”的类中的请求上下文和 url 信息?

我试过这个

@Resource WebServiceContext wsctx;

但它不起作用。

4

2 回答 2

0

您应该实现一些预处理器来将请求参数保存到某个 ThreadLocal 变量(例如,您可以在 Web 过滤器中执行此操作)。然后在您的登录模块中,您将能够从 ThreadLocal 中读取此参数。

于 2017-06-15T20:49:49.703 回答
0

我已经尝试过你的建议。但它不起作用。网络过滤器不调用。

在第二步中,我尝试了以下方法

try {
        HttpServletRequest request = (HttpServletRequest) javax.security.jacc.PolicyContext
                .getContext(HttpServletRequest.class.getName());
    } catch (PolicyContextException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

结果是该方法可能会在此时终止(getContext)并重新提交请求。我不知道为什么。

于 2017-06-19T12:42:31.253 回答