본문 바로가기
나는 모델러다

CRUD 권한?

by kooangelo 2025. 1. 8.

메뉴1         
 - 사용자A : 조회O 등록O 수정O 삭제O 
 - 사용자B : 조회O 등록X 수정X 삭제X
메뉴2
 - 사용자A ... 
 - 사용자B ...
 - ...

권한설계 또는 구현된 헝태가 위와 같이 매트릭스 형태로 된 것을 본 적 있지 않은가? 메뉴별 사용자별 가능한 등록, 수정, 삭제, 조회 기능에 대해 O/X로 권한을 부여하는 것이다. 어떤 경우에는 등록, 수정, 삭제, 조회 외 출력(Print) 등의 부가적인 기능까지 추가하는 경우도 있다. 아니면 아예 C, R, U, D 라고 표현하는 경우도 있다.

 

위와 같이 설정하면 어떤가? 
자연스러워 보이는가?

저도 처음에는 그런줄 알았다.
그런데 보면 볼수록 이상하다.

 

C/S든 Web이든 End User가 접하는 화면에는 CRUD외에도 다양한 기능과 버튼이 있는데 어떻게 4개의 기능에 대해서만 관리하는가?

이상하지 않은가?

나만 그렇게 생각하는가?

가능한 경우도 있을 것이다.
예를들어 사용자관리화면에서 '사용자등록', '수정', '삭제', '조회'만 하는 경우는 가능하겠다.

하지만 예를들어 사원관리에서 '사원등록'외에도 '목록조회' '상세조회'는 어떻게 구분할 것인가? '사원검색'은?
'신규사번채번' '신규사원입사승인' '...반려' '...확정' '...마감' 등 수많은 기능이 화면에 있고 관리자, 팀장, 파트장, 담당자, 팀원 등 여러 역할에 따라 사용할 수 있는 버튼과 그렇지 않은 버튼 또는 화면이 있는데...


이것을 위와 같이 메뉴별 CRUD Matrix 형태로만 관리가 가능한가?
제대로 권한부여가 될 수 있겠는가?
그리고 기능 버튼에 대한 권한부여만? 메뉴나 화면에 대한 권한은? 



위와 같이 권한 부터 메뉴, 화면, 기능을 동적으로 정의할 수 있고, 각 요소와 매핑할 수 있어야 한다.
메뉴, 화면이 고정된 것이 아니듯 기능도 당연히 CRUD로 고정될 수 없다.

'나는 모델러다' 카테고리의 다른 글

Class, Method 명명  (0) 2025.01.13
화면설계와 DB설계만?  (0) 2025.01.09
분석단계 - 요구사항  (0) 2025.01.08
분석설계? 분석? 설계?  (0) 2025.01.08
산출물, 내라고 하니까 낸다?  (0) 2025.01.04