java - Liferay api/jsonws 页面应该只能由管理员用户访问

标签 java web-services rest liferay-6 liferay-6.2

谁能告诉我我们如何限制普通用户访问 Liferay api/jsonws 页面。 api/jsonws 页面应该只能由管理员用户访问。

我们是否可以选择在 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>

在 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");
       }
  1. Crete 服务行动 Pre Action。

[这将在每个 Action 之前被调用:(]

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

  1. 使用分机

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

关于java - Liferay api/jsonws 页面应该只能由管理员用户访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42175156/

相关文章:

java - 在java中管理正则表达式

java - Envers 是否可以为具有公共(public)映射基类的不同具体派生类提供不同的审核模式?

web-services - 是否有一种安全的方法来实现我的客户将嵌入的客户端代码片段

node.js - JSON 有效时 JSON 输入意外结束

c# - 从本地客户端使用 HATEOAS API,REST 真的是 REST 吗?

json - 对于 jmeter 发布请求,如何从 csv 文件生成输入 json?

java - 为什么从非静态方法访问静态方法不好?

javascript - Excel Web Services 电子邮件 javascript 工作表

Java HTTP connection.getInputStream() 从异常中获取响应

java - 通过 maven 运行 testng.xml 出现错误