栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

@CreatedBy和@LastModifiedBy设置实际实体而不是id

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

@CreatedBy和@LastModifiedBy设置实际实体而不是id

这似乎可以由文档直接回答:

如果您使用@CreatedBy或@LastModifiedBy,则审计基础结构需要以某种方式了解当前主体。为此,我们提供了AuditorAware
SPI接口,您必须实现该接口以告知基础结构与应用程序交互的当前用户或系统是谁。通用类型T定义必须使用@CreatedBy或@LastModifiedBy注释的属性的类型。

以下示例显示了使用Spring Security的Authentication对象的接口的实现:

例子104.基于Spring Security的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);    }}

该实现访问Spring
Security提供的Authentication对象,并查找您在UserDetailsS​​ervice实现中创建的自定义UserDetails实例。我们在这里假设您通过UserDetails实现公开域用户,但是根据找到的身份验证,您还可以从任何地方查找它。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373562.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号