Implementing authentication.

This commit is contained in:
takezoe
2013-06-03 00:36:51 +09:00
parent d3a985d65a
commit 1ab58d0363
8 changed files with 83 additions and 45 deletions

View File

@@ -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")
}
}