所有文档法官首先确定网址,然后确定角色,例如
http.authorizeRequests()
.antMatchers("/aaa/xxx").permitAll()
.antMatchers("/aaa/yyy").hasAnyRole("MANAGER")
.antMatchers("/aaa/ccc").hasAnyRole("WORKER")
但是我想先判断角色
http.authorizeRequests()
// first judge role
.hasAnyRole("ADMIN").permitAll()
// then judge url
.antMatchers("/aaa/yyy").hasAnyRole("MANAGER")
.antMatchers("/aaa/ccc").hasAnyRole("WORKER")
我想先判断一下这个角色。如果角色不是ADMIN,则判断URL及其角色。
我希望ADMIN可以访问“ / aaa / yyy”和“ / aaa / ccc”以及其他。
有一种愚蠢的实现方式,就是在所有hasAnyRole()方法中添加所有“ ADMIN”,就像这样
http.authorizeRequests()
.antMatchers("/aaa/yyy").hasAnyRole("ADMIN","MANAGER")
.antMatchers("/aaa/ccc").hasAnyRole("ADMIN","WORKER")
# .... there is many many antMatchers() need add "ADMIN"
我不要路,我需要另一种更好的路。
答案 0 :(得分:0)
http.authorizeRequests()
.antMatchers("/aaa/yyy").hasAnyRole("MANAGER")
.antMatchers("/aaa/ccc").hasAnyRole("WORKER") //you can put here many roles .hasAnyRole("WORKER", "MANAGER")
.anyRequest().hasAnyRole("MANAGER")