【问题标题】:Liferay API call requires authenticated accessLiferay API 调用需要经过身份验证的访问
【发布时间】:2016-08-01 19:48:44
【问题描述】:

我们正在通过邮递员进行 Liferay API 调用

...localhost:9080/api/jsonws/journalarticle/get-article/group-id/21333/article-id/21355

这就是 JSON 结果:

{"message": "Authenticated access required", "exception":"java.lang.SecurityException"}

我们正在使用 Liferay 6.2

我们是否必须添加额外的参数(如 p_auth)?

或者也许我们在不知不觉中做错了什么?

【问题讨论】:

    标签: json liferay liferay-6 restful-authentication


    【解决方案1】:

    ServiceBaseImpl 类中的方法上方添加它

    @AccessControlled(guestAccessEnabled=true)
    

    例如:我的以下网址是 http://localhost:8080/[portlet-name]/api/jsonws/[service-entity]/get-remote-data

    @AccessControlled(guestAccessEnabled=true)
    public String getRemoteData() {
    
        JSONObject obj = new JSONObject();
    
        try {
    
            obj.put("name", "sean");
            obj.put("age", 39);
    
        } catch (JSONException e) {
            e.printStackTrace();
        }
    
    
        return obj.toString();
    
    }
    

    【讨论】:

      【解决方案2】:

      您好,您不需要邮递员提供的 p_auth,只需使用您的 liferay 凭据通过基本登录配置选项卡授权即可。

      有关调用 json 服务的更多信息,请参阅链接https://www.liferay.com/it/web/tomas.polesovsky/blog/-/blogs/json-ws-security

      【讨论】:

      • 谢谢,真棒。对我来说效果很好。
      猜你喜欢
      • 1970-01-01
      • 2015-05-14
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多