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

时间:2017-02-11 11:10:00

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

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

我们有任何选择在Liferay中这样做。

任何人都可以帮助我

2 个答案:

答案 0 :(得分:2)

我猜这个功能不在Liferay 6.2中:(

jsonws.web.service.api.discoverable=false

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

我了解你的选项可以在6.2

中完成
  1. ServletFilter Hook
  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");
           }
    
    1. 克里特岛服务行动预行动。
    2. [这将在每个动作之前调用:(]

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

      1. 使用EXT
      2. 写一个属性来关闭/打开页面&amp;覆盖 JSONWebServiceServlet

答案 1 :(得分:2)

你可以通过实现AuthVerifier为/ api / jsonws / *定制auth.verifier

并添加这些属性

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

请参阅此sample project