Это улучшает масштабируемость, поскольку репликация сеанса между узлами кластера не требуется.
Во-первых, использование HTTP-сеанса на самом деле не мешает вам масштабировать, даже когда используется репликация состояния сеанса HTTP (некоторые механизмы, кстати, умнее других, например, репликация в памяти WebLogic не делает ') большие накладные расходы). Во-вторых, тебе это действительно нужно? Большинство приложений (большинство) не нуждаются в репликации сеанса. В-третьих, правильно ли я понимаю: вы планируете вообще не использовать HTTP-сессию?
(...) Установить подписанный и зашифрованный куки-файл с именем пользователя и сроком действия сеанса после аутентификации клиента.
Не делайте этого! Не храните имя пользователя и другие важные данные, используемые сервером, в cookie-файлах, это очень плохая идея! Вы действительно должны признать, что это всего лишь вопрос времени, когда кто-то выяснит, как работает ваша система, и сломает ее (особенно, если ваш cookie-файл является кандидатом на crib атаки). Извините, действительно, вы должны хранить данные в сеансе на стороне сервера и только идентификатор в cookie, как будто все работает. Это намного безопаснее.
Этот подход в порядке?
Нет. И вам не нужно это для совместимого единого входа (если это то, что вы пытаетесь построить). Просто используйте решение для централизованной аутентификации, например CAS Jasig , в котором есть библиотеки для различных технологий.