有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java ExpiringUsernameAuthenticationToken和@AuthenticationPrincipal

我对ADFS SSO和Spring安全集成有点问题

SSO登录可以正常工作,但当Authentication对象存储在Spring Security处理的会话中时,它的类型是ExpiringUsernameAuthenticationToken,而不是UsernamePasswordAuthenticationToken,即使它是一个直接子类,问题是@AuthenticationPrincipal绑定到控制器方法中的当前用户是null

我实现了一个SAMLUserDetailsService,其中返回一个完整的UserDetails对象

为了完整性起见,我让一个完整的UserDetails用户进入UsernamePasswordAuthenticationTokenPrincipal属性,但只有一个带有“firstname lastname”的字符串进入同一个主对象进入ExpiringUsernameAuthenticationToken

我该怎么解决这个问题? 提前谢谢,对不起我的英语


共 (1) 个答案

  1. # 1 楼答案

    我在samlAuthenticationProvider中用forcePrincipalAsString=false解决了这个问题