Если у меня есть два отдельных приложения Grails, работающих на одном сервере приложений (Tomcat / Glassfish), как мне разрешить пользователю войти в первое приложение, а затем аутентифицировать его для второго приложения, чтобы он не запрашивал, когда он переходит в это приложение?





ИМО, лучший способ сделать это - реализовать федеративный сервер входа в систему. Например, CAS (Central Authentication Service), который представляет собой решение для единого входа в Интернет. Это также позволит интегрировать приложение, работающее на разных серверах / машинах приложений.
есть плагин толпы для grails, который обеспечивает интеграцию толпы - подробности см. в http://www.atlassian.com/software/crowd/.
Я также предлагаю пойти по маршруту CAS. Новейший плагин acegi имеет поддержку CAS, что должно упростить задачу. Но с CAS вам по-прежнему нужна авторизация (что может делать пользователь), поскольку ее цель - аутентификация (кто является пользователем).
Как человек «переходит» во второе приложение? По ссылке из первого приложения? запустив другой сеанс браузера и введя URL-адрес?