Настройка страницы ввода логина и пароля (процедура login.jsp) в Showcase

Материал из Course Orchestra
Перейти к: навигация, поиск
Showcase

Создание решений на КУРС:Showcase

Для пользовательской настройки вида страницы ввода логина и пароля добавлен путь, по которому необходимо размещать все ресурсы, используемые в процедуре login.jsp. Это путь: webapps\%webappname%\resources\login_content\. В эту папку необходимо положить все картинки и ресурсы, на которые есть ссылка в login.jsp. Более того, есть возможность подменить файл login.jsp (см. ниже).

Начиная с версии 5.0.0 Showcase, добавлена возможность настраивать вид окна «О программе» и окна, возникающего при разрыве сессии по причине таймаута. Для того чтобы стандартные окна при работе приложения заменились необходимо в корневой директории папки пользовательских данных (userdata) разместить измененные вами файлы about.jsp и/или sessiontimeout.jsp, а также при необходимости и login.jsp.

При запуске сервера приложений стандартные файлы по умолчанию будут заменены на те, которые находятся в папке пользовательских данных.

Дополнительный код в login.jsp для корректного сохранения url params при нажатии на кнопку выход

Данный код содержится на странице login.jsp war-файла. Но если разработчик решения переопределяет страницу login.jsp в папке пользовательских данных, то данный код обязательно должен присутствовать на этой странице.

1. Нужно добавить в список import-ов jsp-страницы следующий:

 <%@page import="ru.curs.showcase.app.server.AppAndSessionEventsListener"%>

2. В любой скриптлет (желательно в самый первый, в начале страницы), обрамлённый тегами <% и %>, нужно добавить следующий java-код:

        String webAppName = request.getContextPath();
        if (webAppName.contains("/")) {
                webAppName = webAppName.replace("/", "");
        }
		
	if(request.getParameter("error") == null && request.getParameter("exited") == null)
	{
		Cookie cookie = new Cookie("queryString" + request.getServerPort() + webAppName, "");
		cookie.setPath(AppAndSessionEventsListener.getContextPath());
		response.addCookie(cookie);
	}