UIから呼び出しているときにメソッドを@PreAuthorize("hasRole('ADMIN')")
確認しています(セッションが期限切れになるまでに約2〜3時間かかります) as を取得してSecurityContext
いnull
ます。
で試しましたが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 で認証オブジェクトが見つかりませんでした