2011-09-20 85 views

回答

0

我想你可能需要提供更多信息。你使用的是什么版本的liferay?你有没有指定权限?您将portlet添加到了哪个页面?

指定只有“用户”可以访问Portlet,并且我认为您已将该Portlet添加到访客的登陆页面。这意味着porlet是公开的。

+0

它的Liferay 6.0.6(?)。我把它添加到启动页面。当我更改的权限,视图仍然可以访问。 – user489872

+1

我想我明白你的问题现在,如果你正在访问你的ap直接折衷,那么它就在门户的范围之外。最好的办法是编写一个servlet过滤器,它会抛出未授权的异常。这样,您可以阻止直接访问您的应用程序。 –

0

Liferay拥有广泛的基于分层权限的系统。我建议您将portlet权限限制为已登录的用户。通常,这是通过删除guest/anonymous - > view选项来完成的。

从您的portlet配置部分(通常通过单击小扳手图标访问)选择权限部分并取消选中访客选项。

+0

我改变了权限,但是如果我像上面的例子那样输入URL,它仍然可以访问。当我在门户中查看portlet时,它说我没有权限查看它。 – user489872

0

你尝试删除

<security-role-ref> 
    <role-name>guest</role-name> 
</security-role-ref> 

从portlet.xml中?

我也是从Liferay的-portlet.xml中删除

<role-mapper> 
    <role-name>guest</role-name> 
    <role-link>Guest</role-link> 
</role-mapper> 

1

你能否提供链接以直接访问您的视图?也许这可以清除事情。

如果这是您在第一篇文章中提供的链接,我可以想象为什么您正在查看portlet。这是因为你没有调用任何portlet,你只调用servlet部分。这种类型的调用与liferay无关,所以portlet相关的xml文件不会被tomcat(或任何其他java服务器)读取。

正如已经doc_180你必须要么

  • 过滤器,以便在servlet的请求,从而避免直接访问
  • (和/或)限制只能从Liferay的应用程序的访问(你必须配置Java建议 服务器(例如Tomcat)的这样做。