Java Spring安全-身份验证过滤器
我想知道如何在SSO期间获得spring身份验证 问题简介: 用户登录到我的应用->Spring自定义过滤器(使用SSO登录的自定义身份验证提供程序)启动 现在我们有了一个经过身份验证的用户(例如bob/bob),我们正试图将请求转发给具有自己的SSO的第三方应用程序—这里的问题是它具有自己的内存中身份验证(例如admin/admin) 现在,第三方应用程序提示输入auth(admin/admin),用户bob/bob现在丢失。现在,当bob尝试登录我的应用程序时,他没有被识别为会话现在有admin/admin 当会话信息被第三方应用程序覆盖时,如何解决此问题 SecurityConfig.class 这将是第三方应用程序的安全配置,它是在创建spring上下文时创建的 MyCustomConfig.class 这将是我的自定义安全配置(SSO),也是在spring上下文中创建的 SSO不起作用,因为我的自定义配置与第三方应用具有不同的权限(用户/角色)Java Spring安全-身份验证过滤器,java,spring,authentication,spring-security,Java,Spring,Authentication,Spring Security,我想知道如何在SSO期间获得spring身份验证 问题简介: 用户登录到我的应用->Spring自定义过滤器(使用SSO登录的自定义身份验证提供程序)启动 现在我们有了一个经过身份验证的用户(例如bob/bob),我们正试图将请求转发给具有自己的SSO的第三方应用程序—这里的问题是它具有自己的内存中身份验证(例如admin/admin) 现在,第三方应用程序提示输入auth(admin/admin),用户bob/bob现在丢失。现在,当bob尝试登录我的应用程序时,他没有被识别为会话现在有adm
非常感谢您的帮助……如果要在此处获得任何有意义的帮助,您需要提供更多关于第三方应用程序以及如何与之交互的详细信息。好的,添加了一些有意义的完整代码片段-谢谢,如果我理解正确,第三方应用程序与您的应用程序在相同的Spring上下文中运行?这是正确@Raniz
@Configuration
@Bean
public UserDetailsService userDetailsService() {
InMemoryUserDetailsManagerBuilder b = new InMemoryUserDetailsManagerBuilder()
.withUser("admin").password("admin").authorities(new String[]{"ROLE_ADMIN"});
return new CompositeUserDetailsService(Arrays.asList(new UserDetailsManager[]{b.build(), this.technicalUserDetailsService()}));
}
@configuration
@Bean
public UserDetailsService userDetailService() {
return new customUserDetailsService(); // Custom SSO
}