diff --git a/src/main/scala/gitbucket/core/servlet/BasicAuthenticationFilter.scala b/src/main/scala/gitbucket/core/servlet/BasicAuthenticationFilter.scala index a8467b8..42acffd 100644 --- a/src/main/scala/gitbucket/core/servlet/BasicAuthenticationFilter.scala +++ b/src/main/scala/gitbucket/core/servlet/BasicAuthenticationFilter.scala @@ -43,12 +43,16 @@ case auth => decodeAuthHeader(auth).split(":", 2) match { case Array(username, password) => { authenticate(settings, username, password) match { - case Some(account) if (isUpdating || repository.repository.isPrivate) => { - if(hasWritePermission(repository.owner, repository.name, Some(account))){ - request.setAttribute(Keys.Request.UserName, account.userName) - chain.doFilter(req, wrappedResponse) + case Some(account) => { + if (isUpdating || repository.repository.isPrivate) { + if(hasWritePermission(repository.owner, repository.name, Some(account))){ + request.setAttribute(Keys.Request.UserName, account.userName) + chain.doFilter(req, wrappedResponse) + } else { + requireAuth(response) + } } else { - requireAuth(response) + chain.doFilter(req, wrappedResponse) } } case _ => requireAuth(response)