首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么JPA存储库不能从安全上下文中获得身份验证

为什么JPA存储库不能从安全上下文中获得身份验证
EN

Stack Overflow用户
提问于 2022-02-17 04:47:18
回答 1查看 21关注 0票数 0

我有一个springboot应用程序,可以在SecurityContext post登录中使用身份验证。调用returns来持久化任何实体、getCurrentAuditor()方法,该方法将返回用于自动更新创建的日期列的当前原则。

我使用spring "awaitility“依赖创建了一个调度器。但是,此计划调用实体的更新。当调用update并检查spring身份验证时,即使我已经从前端登录,它还是以null的形式出现。从前端开始,我能够持久化其他实体并获得身份验证对象。

根据我的理解,这可能是因为当Springboot启动并独立地发出保存请求时,调度器就会启动。如果这种理解是正确的,我应该如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2022-02-17 05:02:05

如果Scheduler可以使用"system“用户更新实体,您可以执行如下操作,并在调度程序代码中执行身份验证:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  public void authenticate() {
    Authentication auth = authenticationManager.authenticate(getBatch());
    SecurityContext sc = SecurityContextHolder.getContext();

    sc.setAuthentication(auth);
  }

  public UsernamePasswordAuthenticationToken getBatch() {

    return UsernamePasswordAuthenticationTokenBuilder.anUsernamePasswordAuthenticationToken()
        .withCredentials(batchProperties.getPassword()).withUserCode(batchProperties.getUser()).withUserDto(
            userDtoFactory.getBatch()).build();
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71158430

复制
相关文章
Spring JPA 存储库接口定义
​ 首先,定义一个特定的实体类的存储库接口,这个接口必须继承自Repository并且绑定对应的实体类和主键ID类型。如果想要引用并使用该实体类的CRUD方法,要继承CrudRepository而不是继承Repository。
Kindear
2020/09/01
2.5K0
为什么不推荐使用存储过程?
之所以有这个题目,我既不是故意吸引眼球,也不想在本文对存储过程进行教科书般论述。最近项目中遇到的存储过程问题,让我想起了去年在武汉出差时一位同事的发问:
芋道源码
2019/11/29
2.1K0
为什么选择 Spring 作为 Java 框架?
在本文中,我们将讨论 Spring 作为最流行的 Java 框架之一的主要价值体现。
乱敲代码
2019/08/19
6790
为什么选择 Spring 作为 Java 框架?
在本文中,我们将讨论 Spring 作为最流行的 Java 框架之一的主要价值体现。
JAVA葵花宝典
2019/08/20
7510
为什么选择 Spring 作为 Java 框架?
在本文中,我们将讨论 Spring 作为最流行的 Java 框架之一的主要价值体现。
Java技术江湖
2019/09/24
9580
为什么选择 Spring 作为 Java 框架?
探秘 flex 上下文中神奇的自动 margin
水平垂直居中也算是 CSS 领域最为常见的一个问题了,不同场景下的方法也各不相同,各有优劣。嗯,下面这种应该算是最便捷的了:
Sb_Coco
2019/05/24
1.5K0
现在,谁还能从存储中赚到钱?
在过去的三十年里,不乏会出现一些出色的存储公司,其中许多甚至筹集到了大量资金,但大多数都被戴尔、IBM 和HPE等老牌公司吞并了,毕竟大公司想要维持自身热度,每隔几年就急需推出一些新产品。
SDNLAB
2022/12/14
4530
现在,谁还能从存储中赚到钱?
【说站】javascript上下文中栈的理解
以上就是javascript上下文中栈的理解,希望对大家有所帮助。更多Javascript学习指路:Javascript
很酷的站长
2022/11/24
2640
[Spring Cloud]JPA为什么那么好用
不可否认的是 JPA 使用是非常方便的,极简化的配置,只需要使用注解,无需任何 xml 的配置文件,语义简单易懂,但是,以上的一切都建立在单表查询的前提下的,我们可以使用 JPA 默认提供的方法,简单加轻松的完成 CRUD 操作。
宇宙无敌暴龙战士之心悦大王
2023/03/20
1.4K0
《福布斯》:谷歌能从开源生态系统中获得什么?
【新智元导读】《福布斯》日前刊文,记者深入谷歌,探明其开源以TensorFlow为代表的一系列核心技术原因:开源能够更好更快地改善技术,同时也能够让自己成为价值生态链数据获取的核心。今天,竞争优势不再属于最会减少成本、利用资本的企业,而是属于为整个生态创造新的信息价值的企业。本文同时收录谷歌主要开源项目。 我们一直认为艺术最需要人类创造力,但近年来,能理解创造力的机器不断出现。一位音乐教授甚至开发了一个能谱曲的程序。与挖洞、造车的机器不同,能产生有创造力作品的算法需要理解即使是人类自己都难解释清楚的事情。谷
新智元
2018/03/27
1.2K0
另一种思考:为什么不选JPA、MyBatis,而选择JDBCTemplate?
对于关系型数据库的操作,我们在之前的Spring Boot系列教程中已经介绍了几个最常用的使用案例: 使用JdbcTemplate访问MySQL数据库 使用Spring Data JPA访问MySQL 使用MyBatis访问MySQL 因为选择多,因此对于这几种方式哪个更好,一直也是Java开发者们争论的一个热点。同时,一直以来争论的热点一直围绕着MyBatis和Spring Data JPA的选择(之前我们也聊了关于 MyBatis和Spring Data JPA的选择问题)。 今天小编看到一篇比较
程序猿DD
2023/04/04
2.6K0
另一种思考:为什么不选JPA、MyBatis,而选择JDBCTemplate?
为什么不推荐数据库使用外键?
我的经验告诉我,很多数据库(大多数我曾经使用的)不包含外键时并不总是一件坏事。在这篇文章中,我想把重点放在为什么的原因上。
JavaFish
2019/10/16
1.8K0
Windows 身份验证中的凭据管理
Windows 凭据管理是操作系统从服务或用户接收凭据并保护该信息以供将来向身份验证目标呈现的过程。对于加入域的计算机,身份验证目标是域控制器。身份验证中使用的凭据是将用户身份与某种形式的真实性证明(例如证书、密码或 PIN)相关联的数字文档。
黑白天安全
2021/07/16
6.2K0
python问题解决,[WinError 10049] 在其上下文中,该请求的地址无效
分析问题: Traceback (most recent call last): File “***/test.py”, line 5, in skt.bind((’***’, 5555)) OSError: [WinError 10049] 在其上下文中,该请求的地址无效
全栈程序员站长
2022/11/15
4.6K0
python问题解决,[WinError 10049] 在其上下文中,该请求的地址无效
LeetCode 1298. 你能从盒子里获得的最大糖果数(BFS)
给你 n 个盒子,每个盒子的格式为 [status, candies, keys, containedBoxes] ,其中:
Michael阿明
2021/02/19
4230
【应用安全】IAM之身份验证
身份验证,有时也称为身份证明,是验证最终用户身份的过程,以确保他们的数字身份与其真实身份相关联。这让您更加确信您的用户从一开始就是他们声称的正确人选。
架构师研究会
2022/09/26
9790
【应用安全】IAM之身份验证
2022就业季|Spring认证教你,如何使用 Spring 构建 REST 服务
REST 已迅速成为在 Web 上构建 Web 服务的事实标准,因为它们易于构建且易于使用。
IT胶囊
2022/07/28
6250
2022就业季|Spring认证教你,如何使用 Spring 构建 REST 服务
SQL Server安全(2/11):身份验证(Authentication)
在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切。但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念。这篇文章提供了基础,因此你可以对SQL Server里的安全功能充分利用,不用在面对特定威胁,不能保护你数据的功能上浪费时间。 身份验证是验证主体(需要访问SQL Server数据库的用户或进程,是声称是的人或物)的过程。主体需要唯一的身份,这样的话SQL Server可以决定主体有哪个许可。在提供安全访问数据库对象中,正确的身份验证是必须的第一步。 S
逸鹏
2018/04/10
2.5K0
SQL Server安全(2/11):身份验证(Authentication)
点击加载更多

相似问题

JavaFX上下文中的JPA

13

Spring Data (JPA)上下文配置XML -jpa:存储库

32

是否有可能从评估上下文中获得一个值?

14

元素“jpa:存储库”的前缀"jpa“不绑定。

11

AuthenticationCredentialsNotFoundException:在安全上下文中找不到身份验证对象

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文