W_ASN 2018-10-11 12:01 采纳率: 0%
浏览 2308

shior 权限进入doGetAuthorizationInfo方法查询无权限,也会执行注解中的方法

执行该方法的时候,进入doGetAuthorizationInfo中进行验证是否存在该权限,无的时候也会继续执行下面的内容,请个位大佬指点。感谢
@RequestMapping("/end")
@RequiresPermissions("contract:end")
@ResponseBody
public Map endContract(Long id) {
try {
customerContractService.updateStatus(id,"4");
return WebResponse.success();
}catch (Exception e){
e.printStackTrace();
return WebResponse.error("操作失败,请联系管理人员!");
}
}

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 06:50
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Spring Security中,当用户没有访问某个资源的权限时,会触发@AccessDenied注解的方法。在你提供的代码片段中,如果customerContractService.updateStatus(id, "4")方法抛出了异常(例如数据库操作错误),那么就会跳转到doGetAuthorizationInfo方法并尝试验证是否有相应的权限。

    doGetAuthorizationInfo方法中,首先检查是否已经存在这个权限。如果不存在,它将继续执行其他方法或业务逻辑。因此,即使doGetAuthorizationInfo返回了一个不包含权限信息的对象,也可以通过这种方式来处理和执行后续的操作。

    这是一个基本的例子,但具体实现可能会根据你的应用程序的需求有所不同。确保正确地配置了@AccessDenied注解,并且在适当的地方调用此方法以验证权限。

    评论

报告相同问题?