Liferay api/jsonws页面只能供管理员用户访问

Ale*_*Man 7 java rest web-services liferay-6 liferay-6.2

任何人都可以告诉我如何限制普通用户访问Liferay api/jsonws页面.api/jsonws页面只能供管理员用户访问.

我们在Liferay中有任何选择吗?

任何人都可以帮我这个

Par*_*iya 2

我猜 Liferay 6.2 中没有这个功能:(

jsonws.web.service.api.discoverable=false
Run Code Online (Sandbox Code Playgroud)

参考:https://issues.liferay.com/browse/LPS-50668

据我所知您可以在 6.2 中执行的选项

  1. Servlet过滤器钩子

在那里写下你的逻辑 //写出特定的模式

<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>
Run Code Online (Sandbox Code Playgroud)

在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");
       }
Run Code Online (Sandbox Code Playgroud)
  1. 克里特岛服务行动前行动。

[这将在每个动作之前调用:(]

从请求中获取用户,并相应地管理登陆页面。

  1. 使用外部

写入一个属性来关闭/打开页面并覆盖 JSONWebServiceServlet