2016-03-24 25 views
2

私は統合ログイン/ログアウト機能を備えた単一ページのWebアプリケーションを構築しています。バックエンドは、Grails 3とSpring Security 3.0.3によって強化されています。春SecuriyドキュメントからSpring Security 3 - Ajaxログアウト

LoginControllerはJSON-生成方法ajaxSuccess()ajaxDenied()を持っており、authfail()ログインJavascriptコードが適切に成功またはエラーメッセージを表示するために使用することができますJSONを生成します。

Ajaxリクエストは、デフォルトでX-Requested-Withリクエストヘッダーによって識別されます。

しかし、Ajaxのログアウト機能はどうですか?私が理解できる限り、それを行うための組み込みのサポートはないので、私はこれを達成する最も簡単な方法についてアドバイスを探しています。

現時点では、デフォルトのSpring Securityの設定では、ログアウトが正常に機能します(つまり、ユーザーは正常にログアウトできます)が、もちろんバックエンドからはログインページのHTMLが得られます。

ありがとうございます!

答えて

1

はちょうど同じ問題に自分自身を実行しました。

リダイレクトをスキップする方法は見つけられませんでしたが、自分のログアウトコントローラを追加することで、少なくともログインページの代わりにjson応答を提供することができました。

grails.plugin.springsecurity.logout.afterLogoutUrl="/ajaxLogout" 

をapplication.groovyするためにこれを追加して、これは私のコントローラ

@Secured('permitAll') 
class AjaxLogoutController { 
    def index() { 
    def data = [:] 
    data.success = true 
    render data as JSON 
    } 
} 
です
関連する問題