我正在尝试为我正在开发的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对没有足够的特权感到尖叫,这当然是有道理的。 我该怎么办?
答案 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