diff --git a/src/main/scala/gitbucket/core/controller/IndexController.scala b/src/main/scala/gitbucket/core/controller/IndexController.scala index 1f29ebae2..1fa3e49fa 100644 --- a/src/main/scala/gitbucket/core/controller/IndexController.scala +++ b/src/main/scala/gitbucket/core/controller/IndexController.scala @@ -93,9 +93,13 @@ trait IndexControllerBase extends ControllerBase { } get("/signin") { - val redirect = params.get("redirect") - if (redirect.isDefined && redirect.get.startsWith("/")) { - flash.update(Keys.Flash.Redirect, redirect.get) + if (context.loginAccount.nonEmpty) { + redirect("/") + } + params.get("redirect").foreach { redirect => + if (redirect.startsWith("/")) { + flash.update(Keys.Flash.Redirect, redirect) + } } gitbucket.core.html.signin(flash.get("userName"), flash.get("password"), flash.get("error")) }