2012-02-10 23 views
0

ときにユーザがログインを追加し、保護されたページにリダイレクトされ、URLが二度リストのように追加取得されます。cflocationのバグ/ ColdFusion 9の新機能 - 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

記事は、何が起こっているかのように私にいくつかの洞察力を与えた...しかし、私はこの問題を修正する方法がわからないと思います。 誰にも解決策はありますか?カスタムタグを制御することはできませんので

答えて

0

、あなたはそれを修正するのではなく、問題を回避する必要があります。

私は、コードを変更することをお勧めします:

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

は、それはかなりありませんが、URLがリストされているかどうか動作します。

関連する問題