我有一个名为“asdf”的portlet。我使用AJAX重新加载一些视图。 要访问这些视图,我可以致电例如http://localhost:8080/asdf-portlet/view.jsp 这项工作正常,但未登录的人也可以访问这些视图,但他们应该无法访问。
解决这个问题的方法是什么? 是否有某种会话只能登录用户才能访问?
答案 0 :(得分:1)
您能直接提供访问视图的链接吗?也许这可以清除事情。
如果是您在第一篇文章中提供的链接,我可以想象您为什么要查看该portlet。这是因为你没有调用任何portlet,你只调用servlet部分。这种类型的调用与liferay无关,因此tomcat(或任何其他java服务器)不会读取与portlet相关的xml文件。
正如doc_180已经建议的那样,你必须
答案 1 :(得分:0)
我认为您可能需要提供更多信息。你使用的是什么版本的liferay?你有权限吗?您将portlet添加到哪个页面?
指定只有“user”才能访问portlet,并且我认为您已将portlet添加到Guest的登陆页面。这意味着这个小屋是公共的。
答案 2 :(得分:0)
Liferay拥有广泛的基于等级权限的系统。我建议您将portlet权限限制为已登录的用户。通常,这可以通过删除guest / anonymous - >来完成。查看选项。
从您的portlet配置部分(通常通过单击小扳手图标访问)选择权限部分并取消选中访客选项。
答案 3 :(得分:0)
您是否尝试删除
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref>
来自portlet.xml的?
我也删除了
<role-mapper>
<role-name>guest</role-name>
<role-link>Guest</role-link>
</role-mapper>
来自liferay-portlet.xml的。