2017-10-30 10 views
0

私は、春のプロジェクトの階層的アクセス許可を持つアクセス許可ベースのアクセス制御を構築しています。このため、GrantedAuthorityオブジェクトをPermissionに拡張しています。カスタムPermissionVoterは、単一のパーツを取り出すことができるので、最終的にこれから利益を引き出します。 期待どおりに動作します。唯一の問題は、私の統合テストです。@WithMockUser:SimpleGrantedAuthorityの代わりにカスタムGrantedAuthorityクラスを使用してください。

注釈付きでは、@WithMockUserセキュリティコンテキストを模擬することができます。デフォルトでは、このモッキング方法ではSimpleGrantedAuthorityが作成されます。私の有権者は、Permissionを期待していますが、これは明らかにうまくいきません。カスタムGrantedAuthorityクラスを使用するように@WithMockUserを設定できますか?

PS。私は故意に城を使用していない。

答えて

1

代わりに@WithUserDetailsを使用して、userDetailsS​​erviceをパラメータとして使用できます。 userDetailsServiceBeanName = "mockedUserDetailsService"とユーザー( "値")

ユーザーとそのGrantedAuthoritiesを模擬UserDetailsS​​erviceでモックできます。

+0

ありがとう、私はこれが唯一の方法だと思います。 –

関連する問題