Commit 35421b76 authored by Julien Perret's avatar Julien Perret
parents 64b96b20 0f3d0acc
...@@ -32,20 +32,36 @@ class Servlet(mongoDB: MongoDB) extends ScalatraServlet with AuthenticationSuppo ...@@ -32,20 +32,36 @@ class Servlet(mongoDB: MongoDB) extends ScalatraServlet with AuthenticationSuppo
tags.link(tags.rel := "stylesheet", tags.`type` := "text/css", href := "css/bootstrap.min.css"), tags.link(tags.rel := "stylesheet", tags.`type` := "text/css", href := "css/bootstrap.min.css"),
tags.script(tags.`type` := "text/javascript", tags.src := "js/gate.js") tags.script(tags.`type` := "text/javascript", tags.src := "js/gate.js")
) )
case class MongoData(collection: MongoCollection, userSession: DBObject) case class MongoData(collection: MongoCollection, userSession: DBObject)
def getMongoData(user:User) = {
def getMongoData(user: User) = {
val userSession = MongoDBObject(user.login -> session.getId) val userSession = MongoDBObject(user.login -> session.getId)
val server = new ServerAddress(mongoDB.host, mongoDB.port) val server = new ServerAddress(mongoDB.host, mongoDB.port)
val credentials = MongoCredential.createCredential(mongoDB.user, "admin", mongoDB.password.toCharArray) val credentials = MongoCredential.createCredential(mongoDB.user, "admin", mongoDB.password.toCharArray)
val mongoClient = MongoClient(server, List(credentials)) val mongoClient = MongoClient(server, List(credentials))
MongoData(mongoClient(mongoDB.db)(mongoDB.dataSet), userSession) MongoData(mongoClient(mongoDB.db)(mongoDB.dataSet), userSession)
} }
val loginParam = "login"
post(s"/check") {
val login = params(loginParam)
findInMongo(User(login)).isDefined
}
def findInMongo(user: User) = {
val mongoData = getMongoData(user)
mongoData.collection.findOne(mongoData.userSession)
}
get("/") { get("/") {
contentType = "text/html" contentType = "text/html"
auth("DB") match { auth("DB") match {
case Some(user) => case Some(user) =>
val mongoData = getMongoData(user) val mongoData = getMongoData(user)
mongoData.collection.findOne(mongoData.userSession) match { findInMongo(user) match {
case Some(x) => case Some(x) =>
tags.html( tags.html(
head, head,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment