httpBasic()和authorizeRequest()之间的区别



好吧,我正在学习spring安全性,我遇到了一些私有代码,它配置了如下内容。httpSecurity.authorizeRequests().anyRequest().permitAll();

现在,我看到了httpsecurity方法的javadocs,并发现了httpBasic((

httpSecurity.httpBasic();

这两条线路的输出相同。那么,有人能帮我理解其中的区别吗?

authorizeRequest((

authorizeRequest(),用于使用RequestMatcher实现(即通过URL模式(基于HttpServlet请求限制访问。

配置示例:

最基本的示例是将所有URL配置为需要角色"role_USER"。下面的配置要求对每个URL进行身份验证,并将授予用户"admin"one_answers"user"访问权限。

protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests(authorizeRequests ->
authorizeRequests
.antMatchers("/**").hasRole("USER")
)
.formLogin(withDefaults());
}

httpBasic((

配置HTTP基本身份验证。HTTP基本身份验证实现是对web资源实施访问控制的最简单技术,因为它不需要cookie、会话标识符或登录页。默认领域是"Spring Security Application"。

示例配置

下面的示例演示了如何为应用程序配置HTTP基本身份验证。

@Configuration
@EnableWebSecurity
public class HttpBasicSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/**").hasRole("USER").and().httpBasic();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication().withUser("user").password("password").roles("USER");
}
}

相关内容

  • 没有找到相关文章

最新更新