(refs #40)Enable H2 Console.

This commit is contained in:
takezoe
2013-07-22 21:12:22 +09:00
parent ace5d7de9e
commit 3cc39489bd
2 changed files with 19 additions and 0 deletions

View File

@@ -12,6 +12,7 @@ import scala.Some
import service.AccountService
import javax.servlet.http.{HttpSession, HttpServletRequest}
import java.text.SimpleDateFormat
import javax.servlet.{FilterChain, ServletResponse, ServletRequest}
/**
* Provides generic features for controller implementations.
@@ -21,6 +22,21 @@ abstract class ControllerBase extends ScalatraFilter
implicit val jsonFormats = DefaultFormats
override def doFilter(request: ServletRequest, response: ServletResponse, chain: FilterChain) {
val httpRequest = request.asInstanceOf[HttpServletRequest]
val path = httpRequest.getRequestURI.substring(request.getServletContext.getContextPath.length)
if(path.startsWith("/console/")){
Option(httpRequest.getSession.getAttribute("LOGIN_ACCOUNT").asInstanceOf[Account]).collect {
case account if(account.isAdmin) => chain.doFilter(request, response)
}
} else if(path.startsWith("/git/")){
chain.doFilter(request, response)
} else {
super.doFilter(request, response, chain)
}
}
/**
* Returns the context object for the request.
*/

View File

@@ -10,6 +10,9 @@
<li@if(active=="system"){ class="active"}>
<a href="@path/admin/system">System Settings</a>
</li>
<li>
<a href="@path/console/login.jsp">H2 Console</a>
</li>
</ul>
</div>
</div>