웹 권한관리 – Linux Chmod 스타일 – 숫자 권한 구분

JWT토큰 ACL 기능 설계중에
payload를 짧게 만들려고 생각하다가 나온 부분

웹사이트 화면이나 API에서 사용할 수 있는 권한의 종류

서비스에 따라 좀 다른 형태가 추가될 가능성도 있지만 숫자를 늘리면 된다

Chmod Style

여기서 숫자 규칙은..

어떤숫자 조합을 더해도 중복숫자가 없어야한다.

권한에 숫자 부여

ex1) VIEW,READ = 3
ex2) READ,MODIFY = 10

이런식으로 1개 늘어날 때 마다 숫자가 2배씩 커지고
필요한 권한을 더해서 숫자로 payload에 넣어주면 된다

숫자를 더 줄일 규칙이 있는지 찾아봐야겠다

간단히 계산하는 법

VIEW, READ, WRITE 다 더해도 MODIFY보다 작다.
권한숫자 = AuthNum = AN

ex1) AN = 16 — 16

큰 숫자부터 하나씩 빼서 -가 되면 다음,
+가 나오면 권한체크
0이 되면 종료

근데 어차피 권한이 많지 않으니 매번 계산하는 것 보다 저장 해 놓고 쓰는게 낫겠다.

Leave a Reply

Your email address will not be published. Required fields are marked *

 characters available