더북(TheBook)

다음으로 App 컨트롤러의 모든 액션이 시작될 때마다 setCurrentUser 메서드가 수행되도록 app/controllers/init.go 파일의 init 함수에서 인터셉터로 등록해 주자.

▼ app/controllers/post.go

package controllers
 
import "github.com/revel/revel"
 
// ➏ 웹 애플리케이션 초기화 로직 등록
func init() {
    revel.OnAppStart(InitDB)
    revel.InterceptMethod((*GormController).Begin, revel.BEFORE)
    revel.InterceptMethod((*GormController).Commit, revel.AFTER)
    revel.InterceptMethod((*GormController).Rollback, revel.FINALLY)
     
    // 모든 액션마다 setCurrentUser가 수행되도록 인터셉터로 등록
    revel.InterceptMethod((*App).setCurrentUser, revel.BEFORE)
}

이제 컨트롤러의 각 액션에서 현재 요청을 보낸 사용자의 정보를 CurrentUser 이름으로 접근할 수 있게 되었다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.