Я думаю, что решение, которое вы описываете, находится в приемлемом диапазоне элегантности. В любом случае, другой подход - использовать куки:
Страница аутентификации установит cookie, страница, на которую вы попадете (после аутентификации), проверит этот cookie. Если он там есть, он запустит этот «одноразовый» код и очистит куки.