2017-01-08 5 views
2

春のセキュリティ残りのプラグインを使用して、パブリックアクセス権を持っています。私の目標は、特定のGrailsコントローラのアクションを一般の人々が利用できるようにし、ロックされていないようにすることです。デフォルトでは、プラグインはすべてをロックします(「悲観派のロックダウン」)。は、Grailsのコントローラのアクションを作成し、私は<strong>春のセキュリティコア& RESTプラグイン</strong>を使用しています<strong>のGrails 3.2.4</strong>アプリを持っている

私は@Secured(「IS_AUTHENTICATED_ANONYMOUSLY」)を使用して、私のGrailsコントローラのアクションのいずれかに注釈を付ける場合(コアプラグインによって提供された)セッションを使用してステートフルな認証を使用する場合、私は何の問題もありません。

コントローラの操作がRESTプラグインの下にある場合、動作していないようです。

ステートレスRESTプラグインを使用している場合、Grailsコントローラアクションをパブリックにロックしないようにするにはどうすればよいですか? (許可ヘッダーはベアラトークンを提供します)。

+1

anonymousAuthenticationFilterがfilterChain.chainMap定義のマイナス記号を使用して削除されたため、「IS_AUTHENTICATED_ANONYMOUSLY」が機能していませんでした。だから、私はその "-anonymousAuthenticationFilter"を削除して、今すぐ動作します。 – nbkhope

答えて

0

を私はanonymousAuthenticationFilterが私のfilterChain.chainMap定義でマイナス記号を用いて除去されたためIS_AUTHENTICATED_ANONYMOUSLYが働いていなかったことがわかりました。だから、私はその "-anonymousAuthenticationFilter"を削除して、今すぐ動作します。

0

はあなたのapplication.groovyのフィルタパターンを見てください:

grails.plugin.springsecurity.controllerAnnotations.staticRules = [ 
[pattern: '/',    access: ['permitAll']], 
[pattern: '/error' ,   access: ['permitAll']], 

[pattern: '/index.gsp',  access: ['permitAll']], 
[pattern: '/shutdown',  access: ['permitAll']], 
[pattern: '/assets/**',  access: ['permitAll']], 
[pattern: '/**/js/**',  access: ['permitAll']], 
[pattern: '/**/fonts/**', access: ['permitAll']], 
[pattern: '/**/css/**',  access: ['permitAll']], 
[pattern: '/**/images/**', access: ['permitAll']], 
[pattern: '/**/favicon.ico', access: ['permitAll']] 

]

関連する問題