더북(TheBook)

10.7.4 인증 인터셉터 추가

마지막으로 각 컨트롤러에 인터셉터를 추가하고 인터셉터에서 현재 접속한 사용자가 유효한 사용자인지 확인하게 해보자.

 

CurrentUser 추가

요청을 전달한 사용자의 권한을 확인하려면 각 요청을 전달한 사용자가 누구인지 알 수 있어야 한다. 그러려면 컨트롤러에 세션 정보를 바탕으로 매 요청마다 요청을 전달한 사용자의 정보를 보관할 필드가 필요하다.

세션 정보를 바탕으로 매 요청마다 요청을 전달한 사용자의 정보를 만들고, 각 액션에서 이를 사용할 수 있게 컨트롤러에 CurrentUser 필드를 추가해 보자.

app/controllers/app.go 파일에서 App 구조체에 CurrentUser를 추가한다

▼ app/controllers/app.go

package controllers
 
import (
    "goblog/app/models"
)
 
type App struct {
    GormController
    CurrentUser *models.User
}

모든 컨트롤러에서 App을 임베디드 필드로 지정하면 CurrentUser 정보에 접근할 수 있다.

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