我试图提供对网址http://localhost:8080/api/jsonws/journalarticle/get-article-by-url-title/group-id/10182/url-title/events
当我尝试访问此URL而未登录Liferay时,出现以下错误:
{"exception":"Authenticated access required"}
我已尝试在portal-ext.properties中设置以下内容:
json.service.public.methods=*
jsonws.web.service.public.methods=*
我还尝试将值设置为get*
而没有运气。我需要通过托管在不同域上的AngularJs应用程序来访问此API,因此我还需要设置CORS访问权限。
答案 0 :(得分:2)
即使我已经尝试了以上所有非工作,您可以做的是在您的自定义portlet中为JSON Web服务创建自己的API,即调用API
JournalArticleLocalServiceUtil.getArticleByUrlTitle(groupId, urlTitle);
在您的* ServiceImp.java中添加以下标记,请参阅示例
@AccessControlled(guestAccessEnabled =真)
示例:
@AccessControlled(guestAccessEnabled=true)
public JurnalArtical yourMethodName(){...}
答案 1 :(得分:0)
尝试在portal-ext.properties
中添加属性json.web.service.enabled=true
json.service.auth.token.enabled=false
auth.token.check.enabled=false
json.service.auth.token.hosts.allowed=
将第四个留空。
这将禁用Liferay的JSON调用所需的身份验证。