这可能不是最好的方法,但这个解决方案可能是您正在寻找的。它只需要用户的公司 ID、电子邮件和密码。就我而言,我有来自 liferay 的默认公司 ID。
要验证电子邮件/密码,您可以在我的情况下调用其他 liferay 网络服务:get-user-id-by-email-address。然后通过 HTTP Basic 对用户进行身份验证。当使用 jersey rest webservice 调用 liferay web 服务时,您可以这样编写代码:
String url += String.format("user/get-user-id-by-email-address?companyId=%s&emailAddress=%s",
properties.getProperty("default.company.id"), email);
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
client.addFilter(new HTTPBasicAuthFilter(email, password));
WebResource service = client.resource(url);
ClientResponse response = service.accept("application/json").post(ClientResponse.class);
if (response.getClientResponseStatus() == com.sun.jersey.api.client.ClientResponse.Status.OK) {
//valid user
} else {
//invalid user
}