在Liferay Portlet中实现永久链接机制

时间:2011-11-21 07:50:10

标签: spring model-view-controller liferay permalinks

我正在尝试为我正在开发的portlet创建永久链接系统(Spring MVC,Liferay 6.0.6)。 我的想法是创建和映射一个特殊的URL,所以我曾经将查询字符串附加到当前的URL。它工作正常,直到我在注销/登录后尝试使用链接。

http://localhost:8080/web/guest/home?p_auth=ASDFGH&p_p_id=xviewer_WAR_xviewer_INSTANCE_Yz9i&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_p_col_count=1&_xviewer_WAR_xviewer_INSTANCE_Yz9i_action=permalink&xQuery=asd

问题在于Liferay对没有足够的特权感到尖叫,这当然是有道理的。 我该怎么办?

1 个答案:

答案 0 :(得分:1)

我想问题出在p_auth=ASDFGH 你可以进行测试吗

auth.token.check.enabled=false

portal-ext.properties中,重启服务器,重新建立链接并进行测试。

如果它有效,则有几个选项可以禁用特定portlet / action的令牌检查。

以下属性是来自portal.properties

的“身份验证令牌”设置
#
# Set this to true to enable authentication token security checks. The
# checks can be disabled for specific actions via the property
# "auth.token.ignore.actions" or for specific portlets via the init
# parameter "check-auth-token" in portlet.xml.
#
auth.token.check.enabled=true

#
# Set the authentication token class. This class must implement
# com.liferay.portal.security.auth.AuthToken. This class is used to prevent
# CSRF attacks. See http://issues.liferay.com/browse/LPS-8399 for more
# information.
#
auth.token.impl=com.liferay.portal.security.auth.SessionAuthToken

#
# Input a list of comma delimited struts actions that will not be checked
# for an authentication token.
#
auth.token.ignore.actions=\
    /asset/rss,\
    \
    /blogs/rss,\
    \
    /document_library/edit_file_entry,\
    \
    /journal/rss,\
    \
    /image_gallery/edit_image,\
    \
    /login/login,\
    \
    /message_boards/rss,\
    \
    /wiki/edit_page_attachment,\
    /wiki/rss

#
# Set the shared secret that is used for requests where it is not possible
# to generate an authentication token (i.e. WSRP).
#
auth.token.shared.secret=BAHyWOT9TbPB