0
我試圖在Spring中學習@EnableGlobalMethodSecurity註釋。這是一個似乎不適合我的例子。@PreAuthorize(「isAuthenticated()」)重定向服務器太多次
這個工程:比方說,我有一個全局控制器,顯示已登錄的用戶名在每一頁上,像這樣:
@ControllerAdvice
public class GlobalController {
@ModelAttribute("username")
public String getCurrUser(Principal principal) {
if (principal != null) {
return principal.getName();
}
return null;
}
}
這並不工作:相同的控制器,但是我這種時間與preAuthorize註釋。這會返回以下錯誤消息:localhost重定向您太多次了。
@ControllerAdvice
public class GlobalController {
@PreAuthorize("isAuthenticated()")
@ModelAttribute("username")
public String getCurrUser(Principal principal) {
return principal.getName();
}
}
我SecurityConfig類被註解如下:
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled=true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
...
所以,我怎麼能解決預授權註釋此錯誤消息?
反向「@Preauthorize和@ModelAttribute .... @ModelAttribute( 「用戶名」)@PreAuthorize( 「isAuthenticated()」) 公共字符串getCurrUser(主主要){ –
試過,但它仍然返回相同的錯誤消息:( –
boolean check = SecurityContextHolder.getContext()。getAuthentication()。isAuthenticated();在第一種方法中試試這個並告訴我結果?? –