Spring安全 - 身份验证过滤器

时间:2017-01-20 05:40:46

标签: java spring authentication spring-security

我想知道如何在SSO期间获得Spring身份验证。

关于问题的简要说明:

用户登录我的应用 - > Spring自定义过滤器(使用SSO登录的自定义身份验证提供程序)启动

  

现在我们有一个经过身份验证的用户(例如 bob / bob ),我们正在尝试将请求转发给有自己的SSO的第三方应用程序 - 这里的问题是它有自己的内存身份验证(例如admin / admin)

现在第三方应用提示输入身份验证( admin / admin ),用户bob / bob现在丢失了。现在当bob尝试登录我的应用程序时,他不会被识别为会话现在有admin / admin。

如何解决此问题,因为第三方应用程序正在覆盖会话信息?

SecurityConfig.class

这将是ThirdParty App的安全配置,它在创建弹簧上下文时创建

 @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()}));
    }

MyCustomConfig.class

这将是我的自定义安全配置(SSO),这也是在春季环境中创建的。

@configuration
    @Bean
    public UserDetailsService userDetailService() {
        return new customUserDetailsService(); // Custom SSO
    }

SSO不起作用,因为我的自定义配置具有与第三方应用程序不同的权限(用户/角色)。

感谢任何帮助...

0 个答案:

没有答案