Spring Security and()方法

http
    .authorizeRequests()
        .anyRequest().authenticated()
        .and()
    .formLogin()
        .loginPage("/login")
        .permitAll();  

如上:
可以认为 and() 是将方法链接在一起的一种方式。and()在特定的Configurer上配置选项后,通常可以使用一种方法。例如

http
    .someConfigurer
        .<some feature of configurer>()
        .<some feature of configurer>()
        .and()
    .someOtherConfigurer
        .<some feature of someOtherConfigurer>()
        ...
        .and()
     ...

您会注意到,http对象上的第一级调用是配置程序

.formLogin() --> FormLoginConfigurer
.httpBasic() --> HttpBasicConfigurer()
.sessionManagement() --> SessionManagementConfigurer

配置器之后的下一层是您要调整的特定配置器的属性。例如

formLogin()
    .loginPage("/login")
    .permitAll()
    .and()

and() 在末端返回一个 builder(HttpSecurity在我们的例子)。因此,我们可以使用该**and()**方法链接其他配置器。

该方法本身来自SecurityConfigurerAdapter类。该 and() 方法ExpressionUrlAuthorizationConfigurer.ExpressionInterceptUrlRegistry又调用上述方法。

发布了22 篇原创文章 · 获赞 9 · 访问量 3732

猜你喜欢

转载自blog.csdn.net/king101125s/article/details/104214909