加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

spring – 如何使用Social Providers成功登录后设置重定向URL

发布时间:2020-12-15 01:44:28 所属栏目:大数据 来源:网络整理
导读:当我的用户使用一些Spring社交提供商(例如Twitter)成功登录时,我需要更改重定向URL. 我进入每一组*** Url(“”)一个空指针异常 有时设置它也不起作用 我到目前为止尝试设置: public ProviderSignInController signInController(ConnectionFactoryLocator co

当我的用户使用一些Spring社交提供商(例如Twitter)成功登录时,我需要更改重定向URL.

我进入每一组*** Url(“”)一个空指针异常
有时设置它也不起作用

我到目前为止尝试设置:

public ProviderSignInController signInController(ConnectionFactoryLocator connectionFactoryLocator,UsersConnectionRepository usersConnectionRepository) {
        ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator,usersConnectionRepository,new CSignInAdapter(requestCache()));
        providerSignInController.setPostSignInUrl("/home");
        providerSignInController.setApplicationUrl("localhost:8080/home");
        return  providerSignInController;
    }

我分别尝试了setPostSignInUrl和setApplicationUrl中的每一个.

还尝试过:

@Bean
    public ConnectController connectController(ConnectionFactoryLocator connectionFactoryLocator,ConnectionRepository connectionRepository) {
        ConnectController connectController = new ConnectController(connectionFactoryLocator,connectionRepository);
        connectController.addInterceptor(new TweetAfterConnectInterceptor());
        connectController.setApplicationUrl("/home");
        return connectController;
    }

我正在使用Spring Social showcase和Security作为基础来做到这一点.
如果需要,我发布HttpSecurity配置:

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .formLogin()
                .loginPage("/signin")
                .loginProcessingUrl("/signin/authenticate")
                .failureUrl("/signin?param.error=bad_credentials")
                .defaultSuccessUrl("/home")
                .and()
                .csrf()
                .and()
                .logout()
                .logoutUrl("/signout")
                .deleteCookies("JSESSIONID")
                .and()
                .authorizeRequests()
                .antMatchers("/admin/**","/favicon.ico","/resources/**","/auth/**","/signin/**","/signup/**","/disconnect/facebook").permitAll()
                .antMatchers("/**").authenticated()
                .and()
                .rememberMe()
                .and()
                .apply(new SpringSocialConfigurer());
    }
最佳答案
试试这个:

private SpringSocialConfigurer getSpringSocialConfigurer() {
        SpringSocialConfigurer config = new SpringSocialConfigurer();
        config.alwaysUsePostLoginUrl(true);
        config.postLoginUrl("/home");

        return config;
}

然后更改配置方法:

.apply(getSpringSocialConfigurer());

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读