Ошибка размещения / новая функция в ColdFusion 9 - добавление URL дважды - PullRequest
0 голосов
/ 10 февраля 2012

Когда пользователь входит в систему и перенаправляется на защищенную страницу, URL добавляется дважды как список.Это, в свою очередь, вызывает 404.

(пример: http://uwf.edu/something.cfm,http://uwf.edu/something.cfm)

В настоящее время на сайте есть пользовательский тег входа, который я не могу редактировать, так как не могу его контролировать. (Это просто пользовательский тег cf, который позволяет людям входить в университет.)

Я должен выполнить дополнительную обработку после этого тега, чтобы убедиться, что они имеют право входить в систему на этом конкретном сайте.они перенаправляются на другую страницу с помощью cflocation.

    <custom login tag>

    <cfinvoke component="#application.path#cfc/security" method = "constructSession" returnvariable = "status">
     .. params excluded..
    </cfinvoke>

    <cfif status eq 1>
    <cflocation url="#someurl_invalid#" addtoken="no" />
    <cfelse>
    <cflocation url="#someurl#" addtoken="no" />
    </cfif>

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

Я читал эту статью: http://www.bennadel.com/blog/2050-Changes-In-CFLocation-OnRequestEnd-Behavior-In-ColdFusion-9-s-Application-cfc.htm

Эта статья дала мне некоторое представление о том, что происходит ... но я не уверен, как решить проблему.У кого-нибудь есть какие-нибудь решения?

1 Ответ

0 голосов
/ 12 февраля 2012

Поскольку у вас нет контроля над пользовательским тегом, вам придется обходить проблему, а не исправлять ее.

Я бы рекомендовал изменить код:

<cfif status eq 1>
<cflocation url="#ListFirst(someurl_invalid)#" addtoken="no" />
<cfelse>
<cflocation url="#ListFirst(someurl)#" addtoken="no" />
</cfif>

Это не красиво, но будет работать независимо от того, являются ли URL списками или нет.

...