2017-10-17 47 views
0

我想讓/ secure路徑的所有請求都需要ADMIN角色。 我已經是一個控制器:具有ADMIN角色的安全url Spring安全

@Controller("/secure") 
public class AdminController { 

    @RequestMapping("/allPosts") 
    public String allPosts(Model model){ 
     //some logic 
     return "admin/allPosts"; 
    } 
} 

凡allPosts在src /主/資源/模板/ admin將HTML/Thymeleaf頁。 這裏是我的配置一塊:

.antMatchers("/secure/**").hasRole("ADMIN") 

當我訪問本地主機:8080 /安全/ allPosts它顯示404如預期,但我還可以訪問localhost8080/allPosts這是不對的。這怎麼可能?

回答

2

@Controller("/secure") - 這是你的錯誤。註釋值實際上是bean名稱,而不是請求映射。 404並不是預期的 - 你應該預期403.請嘗試以下內容:

@Controller 
@RequestMapping("/secure") 
public class AdminController 
+0

你說得對,現在我明白了。謝謝! – jarosik