trait CsrfTokenSupport extends AnyRef
Provides cross-site request forgery protection.
Adds a before filter. If a request is determined to be forged, the
handleForgery() hook is invoked. Otherwise, a token for the next
request is prepared with prepareCsrfToken.
- Self Type
- CsrfTokenSupport with ScalatraBase
- Alphabetic
- By Inheritance
- CsrfTokenSupport
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def csrfKey: String
The key used to store the token on the session, as well as the parameter of the request.
- def csrfToken(implicit request: HttpServletRequest): String
Returns the token from the session.
Returns the token from the session.
- Attributes
- protected[scalatra]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def handleForgery(): Unit
Take an action when a forgery is detected.
Take an action when a forgery is detected. The default action halts further request processing and returns a 403 HTTP status code.
- Attributes
- protected
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def isForged: Boolean
Tests whether a request with a unsafe method is a potential cross-site forgery.
Tests whether a request with a unsafe method is a potential cross-site forgery.
- returns
true if the request is an unsafe method (POST, PUT, DELETE, TRACE, CONNECT, PATCH) and the request parameter at
csrfKeydoes not match the session key of the same name.
- Attributes
- protected
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def prepareCsrfToken(): String
Prepares a CSRF token.
Prepares a CSRF token. The default implementation uses
GenerateIdand stores it on the session.- Attributes
- protected
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()