Используя ColdFusion Model-Glue, как мне перенаправить пользователя обратно на запрошенную страницу после входа в систему?

У меня есть защищенный тип события, который будет проверьте, вошел ли пользователь в систему, и перенаправьте его на страницу входа, если это не так:

<event-types>
    <event-type name="securedPage">
        <before>
            <broadcasts>
                <message name="CheckLogin"/>
            </broadcasts>
        </before>
        <results>
            <result name="NeedLogin" do="page.login" redirect="true"/>
        </results>
    </event-type>
</event-types>

На странице входа есть форма, которая ссылается на действие .обработчик событий login , который перенаправляет на домашнюю страницу пользователя, если вход был успешным, и повторно отображает страницу входа, если это не так:

<event-handler name="action.login">
    <broadcasts>
        <message name="Login"/>
    </broadcasts>
    <results>
        <result name="LoggedIn" do="page.user.home" redirect="true"/>
        <result name="NotLoggedIn" do="page.login"/>
    </results>
</event-handler>

Этот код отлично работает, но проблема, с которой я сейчас сталкиваюсь, заключается в том, что он будет всегда перенаправлять на домашнюю страницу пользователя, даже если они запросили другую страницу. Поскольку форма отправляет сообщение в событие action.login , а результат do жестко запрограммирован на page.user.home , как я могу изменить свой код отслеживать, какую страницу изначально запрашивал пользователь, и перенаправлять их туда?

5
задан Daniel T. 14 September 2011 в 01:19
поделиться