SpringSecurityを利用するとControllerからもこんな感じで、簡単に主体情報を取得できます。 SecurityContextHolder.getContext().getAuthentication().getPrincipal(); ただし、この実装を利用した場合、 ユニットテスト時は当然主体情報を取得できません。 認証情報がありませんので。。。 そのためテストをする場合は、 その認証情報を以下のように、 TestingAuthenticationTokenとしてSecurityContextHolderに格納してあげると良いとのこと。 // User情報は通常格納する主体情報を利用します。 // SpringSecurityを利用する場合は大体UserDetailsを継承しているかと。 User user = new User() {}; // Test用の認証Tok
![SpringSecurtiyのSecurityContextを利用したクラスのテスト方法](https://cdn-ak-scissors.b.st-hatena.com/image/square/8d71ff5111e05619a10d29bb40d7aebaa75c8fbc/height=288;version=1;width=512/https%3A%2F%2Fs0.wp.com%2Fi%2Fblank.jpg)