권한 관리

권한 관리는 항상 할때마다 설계를 다시하게끔 하는 골치 아픈 녀석이다. 그 이유는 각 프레임 워크마다 구현하는 방식이 다 다르고 사용하는 방법도 각기 다 다른데 막상 그 이론적 베이스가 없기 때문이다. 그래서 “권한 관리라는 것은 이런것이다”를 잘 정리해두고 필요시 마다 다르게 구현하는 것이 훨씬더 나을 지도 모른다고 생각했다. 아래의 내용은 그러한 고민의 흔적이다. 따라서 이 내용은 정립된 방식이 아니라 매우 자의적으로 해석 한것임을 고려하여 보아야 한다.

권한 관리 라는 것은 무엇인가.

authorization는 인증된 사용자가 어떤 행위를 할수 있는 지 없는지를 판단하는 것을 말한다. 즉, 이미 특정한 사용자라는 것을 알려져 있다고 가정하고(이 특정 사용자를 판단하는것을 Authentication 라고 한다) 그 사용자가 어떤 행동을 할수 있는지 확인한 전체 과정을 의미한다.

이런 과정을 논리적으로 표현해 내는것이 바로 권한 관리의 핵심이라고 볼수 있다.

권한 관리의 표현법

가장 많이 쓰이는 표현법은 체인이다.

TBD