Java 应该为JTest bug SECURITY.WSC.CACM-1应用什么修复程序
我正在从事一个项目,该项目经过JTest扫描,其中一个bug是SECURITY.WSC.CACM-1,其中指出: “isInRole()”中不允许调用“isUserInRole()”, 它只能在集中式访问控制方法中调用 声明 我将代码编写为:Java 应该为JTest bug SECURITY.WSC.CACM-1应用什么修复程序,java,servlets,jtest,Java,Servlets,Jtest,我正在从事一个项目,该项目经过JTest扫描,其中一个bug是SECURITY.WSC.CACM-1,其中指出: “isInRole()”中不允许调用“isUserInRole()”, 它只能在集中式访问控制方法中调用 声明 我将代码编写为: private HttpServletRequest getRequest() { assert (request != null); return request; } @Ov
private HttpServletRequest getRequest() {
assert (request != null);
return request;
}
@Override
public void onRequestStart(HttpServletRequest request, HttpServletResponse response) {
this.request = request;
}
public boolean isAdmin() {
return isInRole("ADMIN");
}
private boolean isInRole(String role) {
return getRequest().isUserInRole(role);
}
我哪里错了。有人能给我一个解决办法吗
PS:-如果您有JTest扫描缺陷的可能修复方法,请提供给我链接此规则规定您不应该从未指定的方法调用访问控制方法。您的应用程序应该具有授权类/模块。因此,您的代码:
private boolean isInRole(String role) {
return getRequest().isUserInRole(role);
}
不正确(用于检查用户角色),因为此方法位于Servlet中。请将此方法移动到您的授权类,并在测试配置中设置此方法