Лифт, причал - перенаправление после входа в систему неверный путь - PullRequest
0 голосов
/ 25 августа 2011

Если я помещаю свое приложение в подкаталог, например, называя его cm.war, после успешного входа в систему перенаправление переходит в / cm / cm (должно быть /cm).

Я не верюЯ сделал что-нибудь смешное в загрузочном коде,

val loggedIn =   If(() => User.loggedIn_?,  () => RedirectResponse(User.loginPageURL))
val loggedInSU = If(() => User.superUser_?, () => RedirectResponse(User.loginPageURL))

какой-то код меню

, (Menu("Users") / "users" / "index" >> loggedInSU) submenus (userSubMenus)

позже я применяю User.sitemapMutator

Другие перенаправления в приложенииработает нормально.

Пошаговый код показывает, что он действительно пытается перенаправить в /, который преобразуется в / cm с помощью updateWithContextPath в классе Req.Возможно, по какой-то причине updateWithContextPath вызывается дважды, но я не смог увидеть этого в отладчике.

Он работает хорошо, пока я развертываю приложение как root.

Я использую лифт 2.4-M3 и пробовал оба причала 7.4.5 и 6.1.24.

Кто-нибудь имеет представление о том, что происходит?

edit Еще один шаг показывает, что ответ на самом деле выглядит хорошо, но он преобразован в LiftServlet, fixHeaders, из / cm в /cm/cm.

Ошибка?

1 Ответ

2 голосов
/ 25 августа 2011

Да, это известная ошибка в 2.4-M3, см. Здесь: https://www.assembla.com/spaces/liftweb/tickets/1082-redirectresponse-duplicates-contextpath

...