【发布时间】:2015-10-28 08:41:43
【问题描述】:
我正在 Play Framework 2.3 中使用 scala 语言开发一种网络套接字方法。我有下面的代码来验证网络套接字中的用户。
def speak = WebSocket.tryAcceptWithActor[JsValue, JsValue] { request =>
Future.successful(request.session.get("user") match {
case None => Left(Forbidden)
case Some(_) => Right(SpeakWs.props _)
})
}
但我想验证从 Web 套接字 URL 传递的数据库中的“session_id”。我的网络套接字调用如下所示。
ws://localhost:9000/speak?session_id=dsf76asdfasdeqrweqr34
我可以从 Web 套接字中的 URL 获取 session_id,如下所示。
def speak = WebSocket.tryAcceptWithActor[JsValue, JsValue] { request =>
var session_id = getSessionIdFromURL(request.uri)
...
}
def getSessionIdFromURL(url: String) = {
var splitedPath: Array[String] = new Array[String](2)
splitedPath = url.split("=")
val session_id: String = splitedPath(1)
}
如何验证数据库中的 session_id 并在其有效时进行握手?
(即)我如何验证 session_id 而不是“request.session.get("user") match”?
我是开发新手。所以我不知道该怎么做......
有人帮我做这个吗?
【问题讨论】:
标签: mysql scala playframework websocket playframework-2.3