MobileFirst 8:在UserAuthenticationSecurityCheck中获取客户端数据(IP地址,请求数据)

时间:2018-01-17 20:04:49

标签: ibm-mobilefirst mobilefirst-adapters mobilefirst-server

我试图在 UserAuthenticationSecurityCheck validateCredentials 方法中获取一些客户数据。

IP地址对它来说是最重要的。

在其他适配器中,我使用HttpServletRequest:

@Context
protected HttpServletRequest request;

但是这个请求对象在UserAuthenticationSecurityCheck中总是为空。

如何在此课程中获取客户端数据(IP地址或标题)?

2 个答案:

答案 0 :(得分:0)

您无法将HttpServletRequest注入安全检查对象(按设计 - 而不是错误)。一旦用户通过身份验证,您就可以进行另一个适配器调用,从中可以获得所需的详细信息。不幸的是,这在任何地方都没有记载(至少我不知道)。

我遇到类似 AdapterAPI 类的问题,如here所述。

答案 1 :(得分:0)

您可以在安全适配器中获得请求,但不能从@Context中获得请求。 只需覆盖授权方法:

@Override
public void authorize(Set<String> scope, Map<String, Object> credentials, HttpServletRequest request, AuthorizationResponse response) {
    //TODO use request object 
    super.authorize(scope, credentials, request, response);

}