All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.scalatra.auth.ScentryAuthStore.scala Maven / Gradle / Ivy

package org.scalatra
package auth

import javax.servlet.http.HttpSession
import servlet.ServletApiImplicits._
import util.RicherString._
import java.text.SimpleDateFormat
import java.util.{Date, TimeZone}

object ScentryAuthStore {

  trait ScentryAuthStore {
    def get: String
    def set(value: String)
    def invalidate()
  }

  class CookieAuthStore(app: ⇒ ScalatraBase with CookieSupport)(implicit cookieOptions: CookieOptions = CookieOptions(path = "/")) extends ScentryAuthStore {

    def get = app.cookies.get(Scentry.scentryAuthKey) getOrElse ""

    def set(value: String) {
      app.cookies.update(Scentry.scentryAuthKey, value)(cookieOptions)
    }

    def invalidate() {
      app.cookies.delete(Scentry.scentryAuthKey)(cookieOptions)
    }

  }

  class SessionAuthStore(session: ⇒ HttpSession) extends ScentryAuthStore {

    def get: String = {
      session.get(Scentry.scentryAuthKey).map(_.asInstanceOf[String]).orNull
    }
    def set(value: String) {
      session(Scentry.scentryAuthKey) = value
    }
    def invalidate() {
      session.invalidate()
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy