http.authorizeRequests() 登录配置
时间: 2023-05-26 17:05:34 浏览: 114
SpringSecurity如何实现配置单个HttpSecurity
http.authorizeRequests() 方法用于对请求进行授权配置。因此,它是 Spring Security 中最重要的配置方法之一。在调用 http.authorizeRequests() 方法之后,可以使用以下方法来对请求进行授权配置:
1. antMatchers:用于指定需要进行授权的请求路径模式。
2. permitAll:用于允许任何人访问指定的路径模式。
3. hasRole:用于限制只有具有指定角色的用户才能访问指定路径模式。
4. hasAnyRole:用于限制只有具有指定角色中任意一个的用户才能访问指定路径模式。
5. authenticated:用于限制只有已认证的用户才能访问指定路径模式。
6. access:用于指定复杂的访问规则。
7. and:用于指定多个授权规则,所有规则都必须满足才能访问指定路径模式。
例如,以下代码片段演示了如何对请求进行授权配置,只有经过身份验证的用户才能访问除 '/' 和 '/home' 之外的所有路径:
```
http.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.anyRequest().authenticated();
```
还可以在授权配置中使用 SpEL 表达式,以根据用户属性或其他条件进行更细粒度的授权控制。例如,以下代码片段演示了如何限制只有具有 ROLE_ADMIN 角色的用户才能访问所有以 /admin 开头的路径:
```
http.authorizeRequests()
.antMatchers("/admin/**").access("hasRole('ROLE_ADMIN')");
```
阅读全文