2016-05-14 19 views
1

私はGrails 3.1アプリを持っていて、カスタムのステートレス認証プロバイダと一緒に春のセキュリティプラグインを使用しています。これはすべて動作しますが、セッションがない場合はログイン画面にリダイレクトされ、セッションIDクッキーを使用してセッションが作成されます。Grails 3でセッションが作成されないようにするにはどうすればよいですか?

クッキーを使用しないように春のセキュリティを設定するにはどうしたらいいですか?私はプレーンスプリングのセキュリティの周りにいくつかの答えを見たことがありますが、Grailsスプリングセキュリティプラグインでは、動作が異なるように見えます。

答えて

0

Spring Securityプラグインはフィルタで動作しますが、おそらくその1つがログインページにリダイレクトされています。どのように認証をカスタマイズしたのか正確には分かりませんが、Spring Security REST Pluginに基づいて、必要のないものをフィルターチェーンから削除する必要があります。

grails.plugin.springsecurity.filterChain.chainMap = [ 
    //Stateless chain 
    [ 
     pattern: '/api/**', 
     filters: 'JOINED_FILTERS,-anonymousAuthenticationFilter,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter,-rememberMeAuthenticationFilter' 
    ], 

    //Traditional chain 
    [ 
     pattern: '/**', 
     filters: 'JOINED_FILTERS,-restTokenValidationFilter,-restExceptionTranslationFilter' 
    ] 
] 
+0

ありがとうございます。このアプローチでは、認証に必要なセッション、つまりトークンセットとセッションがないため、ログインページにリダイレクトされなくなりました。しかし、何かが依然としてセッションの作成を主張しており、私はカスタムLoginControllerとビューを持っていますが、ログインページにリダイレクトされます。どのようなアイデアがそれを行うだろうか? – SoftMemes

+0

しかし、春のセキュリティログのレベルをデバッグするように設定してください。おそらくそれが役に立ちます。 –

0

正しくセッションの作成を無効にするために、少なくとも、以下の春のセキュリティ性質、偽あなたはに設定する必要がありそうです。

application.groovy

grails.plugin.springsecurity.scr.allowSessionCreation = false 
grails.plugin.springsecurity.scpf.forceEagerSessionCreation = false 
grails.plugin.springsecurity.apf.allowSessionCreation = false 

あなたはGrailsの春のセキュリティプラグインdocumentation websiteでより多くの情報を持っています。

関連する問題