2016-04-29 8 views
0

これは私のサブシステムでの最初の試みであり、大部分はうまくいっています。セッションが終了したときにサブサイトサイトからメイントップサイトにusesrをリダイレクトするのに問題があります。FW/1サブシステム - トップサイトにリダイレクト

ここにサイト構造がありますが、これはかなり標準的です。私は、適切なサブシステムにリダイレクト私は私のログイン時にmainSite

  • 基地からログインしてきた

    1. すなわち(subSite1、subSite2)
    2. 私のセッションは、私がmainSite.loginにリダイレクトさせたい終了すると代わりに、私をsubSite1.loginにリダイレクトしています。

    私の質問は、どのようにサブシステムのサイトからmainSiteのログインにリダイレクトするのですか?

    私のサイトの構造は次のとおりです。

    mainSite 
    -assets 
    -contorllers 
        -login.cfc 
        -security.cfc 
    -framework 
    -layouts 
    -model 
    -subsystems 
        -subSite1 
         -controllers 
         -layouts 
         -model 
         -views 
          -main 
           -default.cfm 
         application.cfc 
         index.cfm 
        -subSite2 
         ... 
    -views 
        -login 
         -default.cfm (login form) 
    application.cfc 
    index.cfm 
    

    /mainSite/controllers/security.cfmはまっすぐ私のニーズのためのマイナーな変更でFW/1ダウンロードからです。私はauthorize()関数でリダイレクトを更新しようとしましたが、運がなかった。あなたの洞察を事前にありがとうございます。

    component { 
    
    function init(fw) { 
        variables.fw = fw; 
    } 
    
    function session(rc) { 
        // set up the user's session 
        session.auth = {}; 
        session.auth.isLoggedIn = false; 
        session.auth.fullname = 'Guest'; 
    } 
    
    function authorize(rc) { 
        // check to make sure the user is logged on 
        if (not(structKeyExists(session, "auth") && session.auth.isLoggedIn) && !listfindnocase('login', variables.fw.getSection()) && !listfindnocase('main.error', variables.fw.getFullyQualifiedAction())) { 
        variables.fw.redirect('login'); 
        } 
    } 
    
    } 
    
  • 答えて

    1

    本質的に完全修飾リダイレクトに相当するものを提供する必要があります。デフォルト(「トップレベル」)サブシステムは、「メイン」と呼ばれ、デフォルトのセクションは、「メイン」と呼ばれている場合、それはこのようになります:

    variables.fw.redirect('main:main.login'); 
    
    +0

    こんにちはアダム、あなたの迅速な対応に感謝します。残念ながらこれはうまくいきました。私はこのエラーを受けました。 "このページを表示できません"。申し訳ありませんが、私は私の質問ではっきりしていない場合。私は私のサイト構造を追加しました。 有効期限が切れたときに、subSite1(/ mainSite/subsystems/subSite1/main)からmainSite(/ mainSite/login)ログインページにユーザーをリダイレクトしたいと思います。 – user752746

    +0

    サブシステムの仕組みが分かりません。ドキュメントを読むことから始めてください:http://framework-one.github.io/documentation/using-subsystems.html –

    +0

    これは私の最初のサブシステムアプリケーションですが、私はFW/1サブシステム。上記の私のサイト構造を考えると、すべてのサイトはサブシステムフォルダ内にある必要がありますか?あなたの洞察をありがとう! – user752746

    -1

    私は(場所を使用することによって、所望の結果を得ることができました)。

    //variables.fw.redirect('login'); 
    location(url="/mainSite/login"); 
    

    他の人が同じシナリオを実行する場合は、この回答を更新したいと考えています。 Sean CorfieldはFW/1 Googleグループの回答を提供しました。ここにリンクがありますhttps://groups.google.com/forum/#!topic/framework-one/0g7TWQLg3Hs

    variables.fw.redirect(':login'); 
    
    +0

    この「トップサイト」自体が同じFW/1アプリケーションの一部でない限り、これは「機能する」かもしれませんが、使用しているツールには密接に関連していません。おそらくそうだろう。おそらくメイン/デフォルトサブシステムであるべきです。しかし、そうでなければ、それでは、あなたの解決策は正しいものになります。 –

    +0

    「トップサイト」は、同じFW/1アプリケーションの一部です。 – user752746

    +0

    これは有効なパスであれば、 'variables.fw.redirectCustomURL("/mainSite/login ");'ここを参照してください:[FW/1 Docs redirectCustomURL( )](http://framework-one.github.io/documentation/reference-manual.html#public-void-function-redirectcustomurl-string-urstring-preserve--none-string-statuscode--302-string -header ---) –

    関連する問題