单点登录的资源服务器为什么配置了authorizeRequests()后就不跳转认证服务器了?

来源:6-11 基于JWT实现SSO单点登录2

他门说这就是人生

2019-09-07

AuthorizeManager那种方法,我没学会,两天没跑通。心想把Client1和Client2作为资源服务器管理自己的权限也可以啊。不过,当我作了如下配置,就不跳转到认证服务器的登录页面了:

@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {

    @Autowired
    @Qualifier("client1UserDetailsServiceImpl")
    private UserDetailsService userDetailsService;

    @Override
    public void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/user").access("hasAuthority('sys:user:view')")
                .and()
                .userDetailsService(userDetailsService);
    }
}

怎么办啊?大神们,以及老师!

写回答

1回答

JoJo

2019-09-16

ResourceServer和SSO不能并存的,因为这实际上是一个过滤器链上的两个过滤器,ResourceServer的在前,所以根本走不到SSO那个过滤器上了,你还是没理解OAuth2协议中的角色,客户端应用才用SSO,资源服务器不用的。

0
0

Spring Security技术栈开发企业级认证与授权

Spring Security技术栈,REST风格开发常见接口,独立开发认证授权模块保证REST服务安全

2662 学习 · 1561 问题

查看课程