我将以下方法放在grails 2.4.5服务中。
@PreAuthorize("hasRole('ROLE_ADMIN')")
@Transactional
void addPermission(Company company, String username, Permission permission) {
if (AclClass.findByClassName(Company.class.name)) {
def acl = aclUtilService.readAcl(company)
Sid sidObject = new PrincipalSid(username)
acl.entries.eachWithIndex { entry, i ->
println("adddd")
if (entry.sid.equals(sidObject) && entry.permission.equals(permission))
return
}
}
}
aclUtilService.addPermission company, username, permission
}
问题是if块中的return
语句与addPermission方法不完全相同。它只是退出eachWithIndex闭包。
如何在放置return语句的地方退出addPermission函数?