fas*_*seg 3 java spring-mvc spring-security
我在向控制器添加安全注释时遇到了很多问题.
事实证明让我的Controller实现一个InitializingBean是个坏主意.
public class MyController implements InitializingBean {
@Secured(value="ROLE_ADMIN")
@RequestMapping(method = RequestMethod.GET, value = "/{id}/edit")
public String getView(Model model, @PathVariable("id") long id) {
return "some view";
}
}
Run Code Online (Sandbox Code Playgroud)
这失败了:
WARN PageNotFound:962 - 找不到带URI的HTTP请求的映射[...]
删除@Secured Annotation会起作用,但显然我不想这样做.在网上浪费了大量时间之后,我注意到工作和非工作控制器之间的最后一个区别是它实现了InitializingBean接口.而现在这就像一个魅力:
public class MyController{
@Secured(value="ROLE_ADMIN")
@RequestMapping(method = RequestMethod.GET, value = "/{id}/edit")
public String getView(Model model, @PathVariable("id") long id) {
return "some view";
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我理解这种行为吗?
| 归档时间: |
|
| 查看次数: |
6524 次 |
| 最近记录: |