일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 파이썬
- Actor
- 파이썬 동시성
- CORDA
- 이더리움
- 그라파나
- Akka
- 엔터프라이즈 블록체인
- 주키퍼
- Play2
- 스칼라
- 플레이프레임워크
- hyperledger fabric
- 파이썬 데이터분석
- 스칼라 강좌
- Adapter 패턴
- akka 강좌
- 하이퍼레저 패브릭
- 블록체인
- 안드로이드 웹뷰
- Hyperledger fabric gossip protocol
- Play2 로 웹 개발
- 하이브리드앱
- Golang
- 파이썬 강좌
- play2 강좌
- 스위프트
- 스칼라 동시성
- 파이썬 머신러닝
- play 강좌
- Today
- Total
HAMA 블로그
[Play2] Cookie 와 Session 본문
Cookie
생성하기
def login (id : String, pwd : String) = Action {
Ok("success").withCookies( Cookie("coki_name", id))
}
Result 객체의 메소드인 withCookies 를 호출하여 내부 인자로 쿠키를 등록 할 수 있습니다.
위에 "identify" 는 name 이고 , id 는 value 입니다.
가져오기
def authnticate (request: Request[AnyContent]) : Boolean = {
val ck : Option[Cookie] = request.cookies.get("coki_name")
Request 에 있는 cookies 로 부터 특정 이름을 가진 쿠키를 get 합니다. 리턴은 Option 으로 받는 군요.
삭제하기
def logout () = Action { request =>
Ok("logout success").discardingCookies(DiscardingCookie("coki_name"))
}
Result 객체의 메소드인 discardingCookies 를 호출하여 삭제합니다. 지우고 싶은 쿠키 name 을 넣어주네요.
Cookie 클래스 살펴보기
마지막으로 Cookie 클래스 원본입니다. name 과 value 말고도 넣을 수 있는 인자는 많죠.
/**
* An HTTP cookie.
*
* @param name the cookie name
* @param value the cookie value
* @param maxAge the cookie expiration date in seconds, `None` for a transient cookie, * or a value less than 0 to expire a cookie now
* @param path the cookie path, defaulting to the root path `/`
* @param domain the cookie domain
* @param secure whether this cookie is secured, sent only for HTTPS requests
* @param httpOnly whether this cookie is HTTP only, i.e. not accessible from * client-side JavaScipt code
*/
case class Cookie(name: String, value: String, maxAge: Option[Int] = None, path: String = "/", domain: Option[String] = None, secure: Boolean = false, httpOnly: Boolean = true)
Session
생성하기
def login (id : String, pwd : String) = Action {
Ok("success").withSession("session key"-> "value")}
Result 객체의 메소드인 withSession 을 호출하여 맵 형태의 세션을 등록합니다.
인자는 session 클래스 또는 위처럼 session key 는 키이고 "value" 는 값인 tuple 이 들어갑니다.
request.session.+()
request.session.-()
+ , - 를 통해 추가 삭제 할 수 있습니다.
가져오기
def authnticate (request: Request[AnyContent]) : Boolean = {
val se : Option[String] = request.session.get("session key")
Request 에 있는 session 이 가진 특정 키에 대한 값을 리턴 받습니다. 리턴은 Option[String] 으로 받는군요.
삭제하기
def logout () = Action { request =>
Ok("logout success").withNewSession}
Result 객체의 메소드인 withNewSession 을 호출하여 삭제합니다.
'PlayFramework2' 카테고리의 다른 글
[Play2] Remote Akka 연결하기 (번역) (0) | 2016.10.10 |
---|---|
[Play2] DI (의존성 주입) (0) | 2016.10.10 |
[Play2] Actions, Controllers and Results 이란 [번역] (0) | 2016.09.28 |
[Play2] Filter (번역) (0) | 2016.09.28 |
[Play2] Action composition (번역) (0) | 2016.09.28 |