Я использую проект ловушки Custom Landing Page (https://github.com/opensourceforlife/CustomLandingPage-Hook), чтобы направлять пользователей на частный сайт организации, с которой они связаны. Хук отлично работает, когда фактический пользователь входит в систему.
Но у меня есть требование разрешить администраторам выдавать себя за пользователей, что также отлично работает, но может быть настроено только для открытия одной конкретной страницы.
Что мне нужно, так это изменение URL-адреса на основе логики пользовательского хука целевой страницы (логика, которую я могу легко реализовать). В результате администратор окажется на правильной странице для пользователя, которого он выдает за себя.
Я изучил это, и URL-адрес генерируется тегом ‹liferay-security:doAsURL>, который реализован в com.liferay.taglib.security.DoAsURLTag.java.
Я уверен, что смогу написать код для создания правильного URL-адреса, однако не знаю, как перезаписать существующий код. Я делал перехватчики JSP раньше, но я никогда не перезаписывал класс taglib (ни какой-либо класс в комплекте OSGI — только JSP). Я должен верить, что это возможно, но мне еще предстоит найти какое-либо руководство для этого (да, я смотрел...).