mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-03 03:55:58 +01:00
Implementing authentication.
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
package app
|
||||
|
||||
import service._
|
||||
import jp.sf.amateras.scalatra.forms._
|
||||
|
||||
class SignInController extends ControllerBase {
|
||||
class SignInController extends SignInControllerBase with AccountService
|
||||
|
||||
trait SignInControllerBase extends ControllerBase { self: AccountService =>
|
||||
|
||||
case class SignInForm(email: String, password: String)
|
||||
|
||||
@@ -16,7 +19,18 @@ class SignInController extends ControllerBase {
|
||||
}
|
||||
|
||||
post("/signin", form){ form =>
|
||||
// TODO check email and password
|
||||
redirect("/%s".format(context.loginUser))
|
||||
val account = getAccountByUserName(form.email)
|
||||
if(account.isEmpty || account.get.password != form.password){
|
||||
redirect("/signin")
|
||||
} else {
|
||||
session.setAttribute("LOGIN_ACCOUNT", account.get)
|
||||
redirect("/%s".format(account.get.userName))
|
||||
}
|
||||
}
|
||||
|
||||
get("/signout"){
|
||||
session.invalidate
|
||||
redirect("/signin")
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user