Spring MVC,从服务层的安全上下文中获取主体

亚历克斯:
  1. Principal principal在spring控制器中获取主体作为参数,然后将其传递给服务层比立即在服务层中获取主体有SecurityContextHolder.getContext().getAuthentication().getPrincipal()什么优势?
  2. 什么是在服务层中获取主体详细信息而无需检查getAuthentication()getPrincipal()对象是否为空的最佳方法(类似于自定义包装器)?
Maksym Demidas:
    • 您的服务API将更易于使用。您将直接看到对主体的依赖,因此,在不存在主体的环境中,您不会错误地调用某些服务方法。
    • 通常,在迁移到新的Spring Security版本时,对SpringSecurity代码的依赖性越小,意味着的问题就越少。
    • 您将能够在不存在Spring Security的环境中重用服务层。
  1. 准备一些包装器类(例如AuthenticationService)。向其添加getPrincipal()方法。实施检查。在直接调用SecurityContextHolder的所有位置注入AuthenticationService。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从Spring MVC控制器的安全上下文中获取UserDetails对象

向Spring安全上下文中存储的主体对象添加其他详细信息

如何从Freemarker宏的上下文中获取Spring bean?

处理配置时出现Spring MVC安全错误:“ dataSource”或“ jdbcTemplate”是必需的,尽管已在Application上下文中定义

Spring上下文中的多个AsyncAnnotationBeanPostProcessor

在Spring上下文中模拟bean

Spring安全上下文,几个用户

在使用spring mvc构建的上下文中为静态资源定义href

Spring MVC在应用程序上下文中刷新数据库Bean

从Spring上下文中获取一个bean(以编程方式注册)?

Spring MVC:在耳边共享上下文

了解Spring MVC中的上下文

Spring 集成上下文中的并发消费者

如何在Spring上下文中注入模拟

在Spring上下文中通过类路径引用文件

在Spring bean上下文中声明对象数组

在Spring Web上下文中添加动态bean

Spring @Configuration 在测试上下文中未被覆盖

如何在Java应用程序上下文中使用spring MVC的<mvc:resources>标记?

Spring AOP-如何使在父上下文中定义的方面在子上下文中工作?

Spring MVC:将字符串保存在servlet上下文中并从Java代码访问

spring-cloud上下文引导程序在主上下文中忽略禁用的spring shutdown钩子

从Spring安全性上下文访问应用程序上下文

Spring MVC:在实例化bean时如何获取上下文参数?

在Spring MVC中如何在控制器中获取上下文路径

从外部jar包含Spring上下文找不到服务

Spring ComponentScan excludeFilters注释在Spring Boot Test上下文中不起作用

为什么我无法使用Spring Boot在Spring上下文中获得Bean定义?

如何将库的Spring上下文集成到应用程序上下文中?