Authentication functions should be separate from ControllerBase as trait?

This commit is contained in:
takezoe
2013-06-04 03:47:25 +09:00
parent 0565385581
commit 3b62853e71

View File

@@ -5,7 +5,7 @@ import org.scalatra._
import org.scalatra.json._
import org.json4s._
import jp.sf.amateras.scalatra.forms._
import service.AccountService
import service._
/**
* Provides generic features for ScalatraServlet implementations.
@@ -76,6 +76,49 @@ abstract class ControllerBase extends ScalatraFilter with ClientSideValidationFo
}
}
// /**
// * Allows only collaborators and administrators.
// */
// protected def collaboratorsOnly(action: => Any) = {
// {
// context.loginAccount match {
// case Some(x) if(x.userType == AccountService.Administrator) => action
// case Some(x) if(request.getRequestURI.split("/")(1) == x.userName) => action
// case Some(x) => {
// val paths = request.getRequestURI.split("/")
// if(getCollaborators(paths(1), paths(2)).contains(x.userName)){
// action
// } else {
// redirect("/signin")
// }
// }
// case None => redirect("/signin")
// }
// }
// }
//
// /**
// * Allows only collaborators and administrators.
// */
// protected def collaboratorsOnly[T](action: T => Any) = {
// (form: T) => {
// context.loginAccount match {
// case Some(x) if(x.userType == AccountService.Administrator) => action(form)
// case Some(x) if(request.getRequestURI.split("/")(1) == x.userName) => action(form)
// case Some(x) => {
// val paths = request.getRequestURI.split("/")
// if(getCollaborators(paths(1), paths(2)).contains(x.userName)){
// action(form)
// } else {
// redirect("/signin")
// }
// }
// case None => redirect("/signin")
// }
// }
// }
// protected def adminOnly()
}