2012-01-20 9 views
1

私はGrailsアプリケーションで春のセキュリティプラグインを使用しています。ログインページは、ユーザーがケースでログインしているユーザー grails springセキュリティログインページの表示

にのみ使用可能ですページにアクセスしようとした

    1. ユーザが直接それにナビゲートし、表示されます理由は2つあります。 (2)のみ、「あなたはログインが必要なページにアクセスしようとしましたが、ログインページのGSPコードで(1)と(2)を区別する方法が見つかりません)これは可能ですか?

  • 答えて

    0

    さまざまなスプリングセキュリティ構成のURLを変更して、コントローラーをポイントし、セッションの情報に基づいて分岐することができます。あなたがチェックすることができるようにあなたがリダイレクトされます場合は1.3.7のプロジェクトでは、その後

    security { 
        authenticationFailureUrl = '/logout/doLogout' 
        afterLogoutUrl = '/logout/doLogout' 
    } 
    

    のようなものが

    class LogoutController { 
        def doLogout = { 
         def wasHere = session.getAttribute('some-attribute-you-set') 
         if (wasHere) render view: 'requirelogin' 
         else render view: 'normallogin'  
        } 
    } 
    
    1

    を持っていたんでしたが、春のセキュリティは、SPRING_SECURITY_SAVED_REQUEST_KEYキーの下のセッションでSavedRequestを保存しますその存在はauth.gsp

    <g:if test='${session.SPRING_SECURITY_SAVED_REQUEST_KEY}'> 
        // display "you attempted to access a page that requires login" 
    </g:if> 
    <g:else> 
        // direct access to login 
    </g:else> 
    
    関連する問題