【发布时间】:2019-09-01 17:13:48
【问题描述】:
在 Spring Boot 控制器中,我使用 @PreAuthorize("isAuthenticated()") 检查用户是否已登录(使用基本身份验证 + JSESSIONID)。
但是如果用户没有登录,即他们没有通过身份验证,控制器会返回403 Forbidden。
根据我对身份验证与授权的了解,401 用于身份验证,而403 用于授权。
据我了解@PreAuthorize() 总是检查用户的授权(顾名思义),但是有没有办法根据我们传递给它的参数来定制它,即isAuthenticated() 这里?
我知道还有另一种解决方案:在configure(HttpSecurity httpSecurity) 中使用基于 URL 的安全配置,但如果我不想这样做怎么办。
请有任何想法。
【问题讨论】:
标签: spring-boot spring-security