2

UIから呼び出しているときにメソッドを@PreAuthorize("hasRole('ADMIN')")確認しています(セッションが期限切れになるまでに約2〜3時間かかります) as を取得してSecurityContextnullます。

で試しましたがMODE_INHERITABLETHREADLOCAL、それでも同じエラーが発生します。

また、次のコードを試しました:

public class CustomThreadPoolTaskExecutor extends ThreadPoolTaskExecutor{
    @Override
    public void execute(final Runnable r) {
        final Authentication a = SecurityContextHolder.getContext().getAuthentication();

        super.execute(new Runnable() {
            public void run() {
                try {
                    SecurityContext ctx = SecurityContextHolder.createEmptyContext();
                    ctx.setAuthentication(a);
                    SecurityContextHolder.setContext(ctx);
                    r.run();
                } finally {
                    SecurityContextHolder.clearContext();
                }
            }
        });
    }
}   

しかし、私はまだ同じエラーが発生しています:

org.springframework.security.authentication.AuthenticationCredentialsNotFoundException: SecurityContext で認証オブジェクトが見つかりませんでした

4

0 に答える 0