我有一个Liferay的挂机ovrride的AuthenticateByEmailAddress(...)方法.
我想获取用户的IP地址登录并根据它限制访问.
如何在此方法中获取用户IP?
我使用ServiceBuilder来制作portlet.
我在Tomcat工作.
小智 6
这是Liferay 6.0.6中对我有用的东西.
在我的钩子里我也改变了默认的login.jsp.这实际上是默认的login.jsp,还有两件事.首先,从请求中获取IP:
<%String ip = PortalUtil.getHttpServletRequest(renderRequest).getRemoteAddr();%>
Run Code Online (Sandbox Code Playgroud)
并添加额外的参数:
<portlet:actionURL secure="<%= PropsValues.COMPANY_SECURITY_AUTH_REQUIRES_HTTPS || request.isSecure() %>" var="loginURL">
<portlet:param name="saveLastPath" value="0" />
<portlet:param name="struts_action" value="/login/login" />
<portlet:param name="requestIp" value="<%= ip %>" />
</portlet:actionURL>
Run Code Online (Sandbox Code Playgroud)
现在,在重写AuthenticateByEmailAddress()中,您可以从parameterMap获取它:
String ip = parameterMap.get("requestIp")[0];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2858 次 |
| 最近记录: |