我在Spring-boot应用程序中使用Spring-security。默认情况下,由于此配置,所有方法都仅限于经过身份验证的用户:
@Override
public void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
现在,我想将一些网址标记为公开。我可以用蚂蚁匹配器做到这一点,但我更希望能够用注释直接标记相关方法。
我看到存在一些@PreAuthorize
注释,但只有当我从配置中删除这些行时才能使它工作:
.authorizeRequests()
.anyRequest().authenticated()
这迫使我手动注释我想用这个注释保护的每个方法:
@PreAuthorize("isAuthenticated()")
这非常危险,因为默认情况下,每个被遗忘的网址都可以公开访问。有没有办法让默认情况下对经过身份验证的用户访问每个网址,并使用
打开一些网址@PreAuthorize("permitAll()")
另外,我在another post中看到OP得到了回答:
但是在控制器上使用预发布注释确实是一个坏主意,因为可以直接在HttpSecurity配置中完成。它强迫您使用
proxyTargetClass = true
。
这有什么问题? (另外,我不需要使用proxyTargetClass = true
)