这一点似乎可以通过以下方式得到相当直接的回答:
the documentation
:
基础设施需要意识到当前的主体。
为此,我们提供了一个AuditorAware SPI接口,您必须
实施以告知基础架构当前用户或系统是谁
与应用程序进行交互是非常重要的。泛型类型T定义了什么
键入带有@CreatedBy或@LastModifiedBy注释的属性
成为。
下面的示例显示了
使用Spring Security的身份验证对象:
例104。基于Spring安全性的AuditorAware实现
class SpringSecurityAuditorAware implements AuditorAware<User> {
public Optional<User> getCurrentAuditor() {
return Optional.ofNullable(SecurityContextHolder.getContext())
.map(SecurityContext::getAuthentication)
.filter(Authentication::isAuthenticated)
.map(Authentication::getPrincipal)
.map(User.class::cast);
}
}
UserDetailsService实现。我们假设你是
通过UserDetails实现公开域用户,但
根据找到的身份验证,您还可以查找它
从任何地方来。