Чаши Грааля: обработка события перерыва HTTP-сессии

Я пишу применение Чаш Грааля, которое использует безопасность Спринта для идентификации. Я должен показать сообщение пользователю, который автоматически вышелся из-за бездеятельности. 

Мое заявление использует и запросы AJAX и прямые запросы диспетчерам. Я заметил, который для безопасности Спринта запросов AJAX возвращает ответ HTTP с кодом 401, и я пересмотрел отображение URL по умолчанию таким способом:

```
class UrlMappings {
    static mappings = {
        //...

         "401" (controller: 'errors', action: 'inactivityLogout')
    }
}

```

И вот тело  `inacticityLogout()`  метод:

```
def inactivityLogout() {
    log.debug("the user is logged out due to inactivity")
    session.setAttribute('inactivityMessage', "You have been logged out due to inactivity.")
    render(status: 401)
}

```

Тогда  `LoginController`  проверяет, установлен ли  `inactivityMessage`  признак и показывает соответствующее сообщение на Странице входа в систему. 

Проблема состоит в том, что это решение хорошо работает для требований AJAX, но не работает, когда я пытаюсь провести к другой странице только, нажимая на прямую ссылку в применении. Во втором случае регистрация пуста, таким образом, метод  `inactivityLogout`  не называют. 

Поджигатель показывает, что применение возвращает код 302, Перемещенный Временно, таким образом, я, хотя это это - причина. Но тогда я заметил, что тот же самый код возвращен для требований AJAX также. Так, теперь у меня нет идей, что является различием между AJAX и запросами non-AJAX и почему последние не обработаны двигателем отображения URL Чаш Грааля.

Какие-либо идеи, что могло быть неправильным с моим текущим решением? Эта проблема может быть решена совершенно другим способом?

Спасибо!

Используя jQuery, это - то, что я делаю:

```
$.ajaxSetup({
   statusCode: {
     401: function() {
       $('#ajaxAuthModal').modal('show');
     }
   }
});

```

У меня есть это в глобальном файле JS так, чтобы все мои запросы ajax обращались с 401. Тогда я просто показываю модальное, которое говорит пользователю, что им нужно к логину снова. Единственная реальная разница необходимо было бы достигнуть того, что вы хотите, должна получить голоса безопасного ресурса через ajax. Это позволило бы этой 401 функции вызывать, когда эти 401 возвращены.



>  Да, идея состоит в том, чтобы показать сообщение без любого взаимодействия с пользователем. Просто хочу сообщить пользователю, почему он вышелся система.
> 
> 
> 

Не забудьте перезагружать интервал на требованиях AJAX, потому что, так как страница не перезагружается, это не будет перезагружено.

Как примечание стороны, отображения URL должны только играть роль по запросам non-AJAX, потому что страница не перезагружается, таким образом ничто, чтобы показать страницу к. Необходимо будет использовать что-то как @Gregg, использует, чтобы обработать запросы AJAX.