MySQL 데이터베이스가 있고 그 안에 여러 테이블이 있습니다. 물론 하나는 사용자 이름과 암호를 저장하기위한 사용자 테이블입니다 (나머지 정보도 포함). 스키마의 모든 테이블에 대해 개별 필드에 대한 사용자 (또는 그룹) 권한을 부여 할 수 있기를 원합니다. 아마도 예가 도움이 될 것입니다.
ACCOUNTS라는 테이블이 있습니다. 이 테이블에서 사용자는 회사에 대한 모든 데이터 (이름, 주소, POC 등)를 작성하고 최신 상태로 유지합니다. 그러나 LastPaymentDate (사용자가 변경할 수 없습니다!)와 같이 해당 사용자에 대해 읽기 전용 인이 테이블에 필드를 첨부하고 싶습니다. 또한 이러한 사용자간에 권한이 다릅니다. 예를 들어 관리자 / 수퍼 유저는 회사의 이름과 주소를 변경할 수 있지만 표준 사용자는 변경해서는 안됩니다.
권한 (그룹)의 각 수준에 대해 하나씩 테이블에 대해 여러 뷰를 작성하여 수행해야 할 수도 있다고 생각합니다. 저는 MySQL에 비교적 익숙하지 않아 이것이 최선의 방법인지 모르겠습니다. 보거나 편집 할 수있는 필드를 알려주는 조회 테이블도 볼 수 있습니다.
내 초기 생각은 댓글 (또는 필드 이름)에 0-5의 값을 포함하는 것이었고 사용자는 권한 수준 (0- 볼 수 없음, 1- 읽기 전용, 2- 읽기- 쓰기; 3- (사용되지 않음); 4- (사용되지 않음); 5- 필드 자체를 편집 / 삭제합니다.
어떤 제안? 견해? 표시 할 필드를 결정하기위한 조회 테이블? 다시 말하지만, 테이블 내의 각 열에 대해 전체 테이블이 아닙니다.
해결 방법
다음 코드를 사용하여 개별 열에 대한 권한을 사용자에게 부여 할 수 있습니다.
GRANT SELECT (col1), INSERT (col1,col2) ON mydb.mytbl TO 'someuser'@'somehost';
여기에서 가져온 예 :
또한 MySQL에서는 사용자 그룹 또는 SQL ROLES (권한 그룹)에 대한 지원이 없습니다.
참조 페이지 https://stackoverflow.com/questions/16674715
'MySql' 카테고리의 다른 글
MySQL export mysql database table contents on to a PDF file using php (0) | 2021.01.01 |
---|---|
MySQL PHP / MySQL에서 시간에 4 시간을 추가하는 방법 (0) | 2021.01.01 |
MySQL mysql 사용자 생성 (0) | 2021.01.01 |
MySQL Generate .json file with PHP MySQL (0) | 2021.01.01 |
MySQL PHP mySQL query for updating row in table using variables (0) | 2020.12.31 |
댓글