我正在使用Spring Security来保护我的REST Apis。
我能够在RestController中检索注入的Principal对象:
public MainWindow()
{
//ctor
InitializeComponent();
pathToLauncher = string.Empty;
videos = new ObservableCollection<Video>();
VideoUIElment.ItemsSource = videos;
}
但不幸的是,Principal对象没有 getAuthorities()方法,我需要读出用户的角色。
这就是我使用静态方法获取所需信息的原因:
@GetMapping("/user")
public ResponseEntity<User> getUser(Principal user) {
user.getName();
通过依赖注入获取当前的 SecurityContext 对象是否有任何简单的解决方案?
答案 0 :(得分:0)
请尝试以下方式:
@RequestMapping("/authentication")
Authentication getAuthentication(Authentication authentication) {
return authentication;
}
受ServletRequestMethodArgumentResolver
支持,Authentication
是Principal
if (Principal.class.isAssignableFrom(paramType)) {
return request.getUserPrincipal();
}