我的目标是保护我的 Spring 2.5 MVC 控制器中的一些方法只能由特定用户访问,例如,经理可以访问所有方法,但查看者可以访问其中的一些方法。虽然我必须访问会话对象才能知道当前登录的用户是否是经理。我有一个方法。
public boolean isManager(HttpSession session){
//Dome some check
}
我要保护的控制器方法如下所示
@RequestMapping(value = "/getInfo", method = RequestMethod.GET)
public ModelAndView getInfo(ModelMap model, HttpSession session) {
//do something
return new ModelAndView("info_page", model);
}
所以在上面的方法中,我想有注释,只允许经理访问该方法。
例如,我想要这样的东西
@RolesAllowed(AcessType.ManagerOnly)
@RequestMapping(value = "/getInfo", method = RequestMethod.GET)
public ModelAndView getInfo(ModelMap model, HttpSession session) {
//do something
return new ModelAndView("info_page", model);
}
我已经看到了这个问题,但它并没有帮助我如何将角色(经理或其他东西)传递给注释并完成工作。
我是否必须创建 AccessType 枚举。并根据会话设置角色?我们已经使用 Spring Security 进行身份验证和授权。
任何帮助将不胜感激 !!