任何人都可以告诉我如何限制普通用户访问Liferay api / jsonws页面。 api / jsonws页面只能供管理员用户访问。
我们有任何选择在Liferay中这样做。
任何人都可以帮助我
答案 0 :(得分:2)
我猜这个功能不在Liferay 6.2中:(
jsonws.web.service.api.discoverable=false
参考:https://issues.liferay.com/browse/LPS-50668
我了解你的选项可以在6.2
中完成在那里写下你的逻辑 //写特定模式
<servlet-filter>
<servlet-filter-name>ServiceAccessPage</servlet-filter-name>
<servlet-filter-impl>com.check.access.ServiceAccessPage</servlet-filter-impl>
<init-param>
<param-name>initparam</param-name>
<param-value>Hi IP Address Filter</param-value>
</init-param>
</servlet-filter>
<servlet-filter-mapping>
<servlet-filter-name>ServiceAccessPage</servlet-filter-name>
<url-pattern>/api/jsonws</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</servlet-filter-mapping>
在ServiceAccessPage.java中
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws java.io.IOException, ServletException {
//get user & Redirect to session.setAttribute(WebKeys.LAST_PATH, redirectionFailPath);
logger.info("DoFilter method being called");
}
[这将在每个动作之前调用:(]
从请求中获取用户,&amp;相应地管理登陆页面。
写一个属性来关闭/打开页面&amp;覆盖 JSONWebServiceServlet
答案 1 :(得分:2)
你可以通过实现AuthVerifier为/ api / jsonws / *定制auth.verifier
并添加这些属性
auth.verifier.YOURAUTHVERFIER.urls.includes=/api/jsonws/*
请参阅此sample project