在spring-security @PreAuthorize中删除此未使用的方法参数

时间:2016-05-24 06:33:23

标签: java spring-security sonarqube

我有重大问题"删除此未使用的方法参数" shiftId"" (和一些类似的问题):

@RequestMapping(value = "/refund/{invoiceId}", method = RequestMethod.GET)
@PreAuthorize("@AccessPosition.toMeOpen(#shiftId)")
public PosTransactionRefundInfoDTO getTransactionRefund(@PathVariable("shiftId") Long shiftId, @PathVariable("invoiceId") Long invoiceId)
{
    // ... some code here
}

仅为shiftId注释声明的参数@PreAuthorize,在方法代码中未使用somwhere。 我能否以某种方式解决这个问题"以正确的方式解决这个问题",而不用标记#34;不会修复"或"误报"?

2 个答案:

答案 0 :(得分:1)

首先确保它不是逻辑/设计错误:为什么要授权您不使用的内容?这会导致安全漏洞吗?

为了摆脱警告,我建议在简单的日志记录语句中使用method参数:

logger.debug("ShiftId: {}", shiftId);

答案 1 :(得分:-1)