안녕하세요?
매일같이 와서 열심히 보고 있습니다.
애플리케이션 작성시 권한관리를 어떻게 하시는지 궁금합니다.
(개발 언어는 PHP로 하고 있습니다. 사내에서 리눅스로 서버 만들어 사용중입니다.)
그룹별로 사용자별로 읽기, 쓰기, 수정, 삭제 권한을 다르게 주어야 할텐데 이것을 어떻게 구현해서 사용하시는 지 궁금해서요.
제가 아는 방법은 ...
1. PostgreSQL의 pg_user, pg_shadow 를 사용해서 유저와 그룹을 만든 뒤 테이블당 권한을 할당하는 방법.
- 이 경우에 패스워드 변경이나 사용자 추가, 삭제 등에서 postgres 수퍼유저로 작업을 해야 하므로 응용프로그램에서 비밀번호를 넣어서 사용하기가 보안에 있어 미덥지 못하다는 생각이 듭니다. 이 경우, 사용자가 자기 비밀번호를 바꾸지 못합니다.
2. 시스템 테이블이 아닌 그룹과 사용자 테이블을 따로 만들어 프로그램명이나 애플리케이션의 파일명(php파일명)을 사용권한 테이블에 기록한 다음 참조해서 결정한다.
일단, 이정도만 생각이 나는군요.
웹환경에서 관리자와 일반사용자만 생각하다 부서별로 사용자, 임원별로 각종 권한을 달리 하려고 하니 머리가 지끈거리는군요.
많은 답글 부탁드립니다.
감사합니다.
|