Liferay api/jsonws页面应该只有管理员用户才能访问



任何人都可以告诉我如何限制普通用户对Liferay API/jsonws页面的访问。 API/JSON 页面应仅供管理员用户访问。

我们有什么选择在Liferay中做到这一点吗?

谁能帮我解决这个问题

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

jsonws.web.service.api.discoverable=false

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

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

  1. ServletFilter Hook

在那里写你的逻辑写入特定模式

<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>

在服务访问页面中.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");
       }
  1. 克里特岛服务操作 预操作。

[这将在每次操作之前调用:(]

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

  1. 使用分机分机

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

您可以通过实现 AuthVerifier 为/api/jsonws/* 自定义 auth.verifier

并添加这些属性

auth.verifier.YOURAUTHVERFIER.urls.includes=/api/jsonws/*

请参考此示例项目

相关内容

  • 没有找到相关文章

最新更新