in src/main/java/com/googlesource/gerrit/plugins/lfs/LfsApiServlet.java [126:143]
private void authorizeUser(CurrentUser user, ProjectState state, LfsRequest request)
throws LfsUnauthorized {
Project.NameKey projectName = state.getNameKey();
if ((request.isDownload()
&& !permissionBackend.user(user).project(projectName).testOrFalse(ACCESS))
|| (request.isUpload()
&& !permissionBackend
.user(user)
.project(projectName)
.testOrFalse(PUSH_AT_LEAST_ONE_REF))) {
String op = request.getOperation().toLowerCase();
String project = state.getProject().getName();
String userName = user.getUserName().orElse("anonymous");
log.atFine().log(
"operation %s unauthorized for user %s on project %s", op, userName, project);
throw new LfsUnauthorized(op, project);
}
}