Реализация механизма постоянных ссылок в портлете Liferay - PullRequest
1 голос
/ 21 ноября 2011

Я пытаюсь создать систему постоянных ссылок для разрабатываемых портлетов (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 Ответ

1 голос
/ 22 ноября 2011

Полагаю, проблема в p_auth=ASDFGH Можете ли вы, для теста, поставить

auth.token.check.enabled=false

в portal-ext.properties, перезапустить сервер, заново создать ссылку и проверить ее.

Если это работает, у вас есть несколько вариантов отключить проверку токенов для определенного портлета / действия.

Следующие свойства являются настройками «Аутентификация токена» из 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
...