@RequestMapping("add_category.do")
@ResponseBody
public ServerResponse addCategory(HttpSession session,String categoryName,@RequestParam(value = "parentId",defaultValue = "0") int parentId){
User user = (User)session.getAttribute(Const.CURRENT_USER);
if(user == null){
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(),"用户未登录,请登录");
}
//校验一下是否是管理员
if(iUserService.checkAdminRole(user).isSuccess()){
//是管理员
//增加我们处理分类的逻辑
return iCategoryService.addCategory(categoryName,parentId);
}else{
return ServerResponse.createByErrorMessage("无权限操作,需要管理员权限");
}
}添加品类的前提是session中用户存在并且是管理员,而判断用户是不是管理员是由UserManagerController完成。
后面这段校验管理员的无论user 是否为 null都不会被执行?!
如果user != null, 说明已经登录,UserManagerController校验user是不是管理员。无存在意义。
user == null,存在两种情况
2.1 用户一开始就未登录
2.2 session信息过期
这两种情况在发送add_category.do请求的时候,return status = 10 强制登录。校验管理员代码不会被执行。