Вы можете выбрать один модуль и через разделение кода загрузить специальный интерфейс для пользователя.
В зависимости от процедуры входа в систему существуют разные способы загрузки определенного пользовательского интерфейса. Если вход выполняется в коде GWT, поэтому страница входа является частью приложения, то, например, если пользователь входит в систему посредством вызова RPC при успешном входе в систему, возвращается значение, указывающее, какой пользовательский интерфейс следует запустить. Или, если вход выполнен до загрузки страницы gwt, например, если вы используете стандартную аутентификацию веб-сервера, то возвращаемая страница индекса, содержащая приложение gwt, после успешного входа в систему уже может содержать переменную, сгенерированную в html, которая используется чтобы определить, какой пользовательский интерфейс загружен. Это просто очень общие идеи, но я надеюсь, что вы поняли идею.
Относительно нескольких модулей. Если у вас есть 3 разных модуля, время сборки также увеличивается в 3 раза, потому что GWT необходимо сгенерировать 3 разных приложения.