具有可更改URL用户ID的antMatchers Spring安全模式
2022-09-01 03:10:02
我一直在寻找答案很长一段时间,但找不到任何富有成效的东西
在我的休息服务中,我在以下位置保留了一些功能:/account/{id}/download,我想在SecurityConfig java文件中设置acce role,只有ROLE_TOKENSAVED用户可以访问此URL
当 {id} 是可更改的时,模式应该是什么样子?
我尝试了一些正则表达式模式,但没有任何东西按照我想要的方式工作,以下是我的一些尝试:
1. antMatchers("account/**/download").access(somerolehere)
2. antMatchers("account/\\d/download").access(somerolehere)
3. antMatchers("account/[\\d]/download").access(somerolehere)
提前感谢您的提问:)
编辑:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/admin**").access("hasRole('ROLE_ADMIN')")
.antMatchers("/account*//**").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN')")
.antMatchers("/account/\\d+/download").access("hasRole('ROLE_TOKENSAVED')")
.antMatchers("/user**").permitAll()
//othercode...
}