当前位置: 首页 > 面试题库 >

如何设置Spring Security SecurityContextHolder策略?

郎星汉
2023-03-14
问题内容

我在服务中使用了异步方法(Spring 3 @Async注释)。而且我有一个问题-产生的线程没有安全上下文。原因是Spring Security默认SecurityContextHolder.MODE_THREADLOCAL为其上下文持有者使用策略。但是我需要使用SecurityContextHolder.MODE_INHERITABLETHREADLOCAL策略。目前,我在AuthenticationSuccessHandler中设置了策略。但是我认为这不是一个好习惯。

那么如何在上下文配置文件中进行设置?
Spring Security的版本是3.0.0。


问题答案:

你可以将环境变量设置spring.security.strategyMODE_INHERITABLETHREADLOCAL。你还可以使用一个简单的bean,在你的Web应用程序启动期间调用它,SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_INHERITABLETHREADLOCAL)并在上下文配置文件中初始化该值。



 类似资料:
  • 使用命令创建访问策略时,出现错误:操作失败,因为“密钥存储库”从操作开始时开始更改。控件执行并行操作时,可能会发生这种情况。若要防止此错误,请序列化操作,以便一次只对。有关详细信息,请参阅此链接:https://go.microsoft.com/fwlink/?linkid=2147741.

  • 我有两个vm服务器(比如S1和S2),需要在集群模式下安装kafka,其中只有一个分区和两个副本(一个是领导者本身,另一个是追随者),以确保可靠性。 从这个集群设置中获得了高层次的想法,希望确认以下策略是否正确。 首先将zookeeper设置为两个节点上的群集,以实现高可用性(HA)。如果我只在单个节点上设置zk,然后该节点关闭,则整个集群将关闭。正当在最新的Kafka版本中也必须使用zk吗?看来

  • 如何使用Java设置重试策略,将记录推到cosmosDB。 如果第一次推记录失败,我想重试推记录。我想在间隔2秒后重试推5次。 参考链接:https://docs.microsoft.com/bs-latn-ba/azure/cosmos-db/performance-tips-java 代码:

  • 首先我在使用 keycloak-authz-client-3.3.0.final Spring boot 1.5.8.发布 spring-boot-starter-security 我一直在玩Keycloak spring adapter,探索示例,因为我们想在我们的项目中采用它。 我可以使用以下教程轻松地让它在角色中运行:https://dzone.com/articles/elyly-secu

  • 我想从tomcat beanstalk发送电子邮件,但收到以下错误消息 用户“arn:aws:sts::123:假定角色/aws-elasticbeanstalk-ec2-role/i-123”无权对资源“arn:aws:ses:eu-central-1:123:标识/示例”执行“ses:sendmail”。com'(服务:Ses,状态代码:403,请求ID:2a82693d-3344-4b53-

  • 问题内容: 我需要在服务器端执行什么操作才能允许某人使用JSONP从该服务器获取数据。我还需要在用户端做什么?我想使用JSONP替代XMLHttpRequest。 由于同源政策,它无法在我的Firefox扩展中使用。因此,人们推荐使用JSON,但是在Internet上搜索教程和指南后,我很迷失。 谢谢您的帮助! 问题答案: 假设您的服务器运行的是PHP,则只需添加“回调” GET请求。 在客户端(