현재 MVC 패턴을 사용하여 PHP 응용 프로그램을 작성 중입니다.권한을 캐싱하거나 각 요청에 대해 데이터베이스를 사용합니까?
응용 프로그램에서 역할 기반 액세스 제어 (RBAC)를 구현했습니다. 현재 사용자 priveleges는 약 7 개의 조인을 사용하여 결정된 다음 사용자 세션에서 캐시됩니다. 세션은 데이터베이스에 저장됩니다.
- 모듈
- 컨트롤러
- 액션
- 유형
- 개체 ID
- 상태 ID
privilges는 이러한 열을 포함하는 테이블로 상상 할 수 있습니다
권한, 모듈, 컨트롤러, 작업 및 상태 ID와 일치해야하는 경우 테이블의 정확한 항목과 일치해야하며 "개체 ID"는 "유형"에 따라 선택 사항입니다.
평균적으로 사용자 당 100 개의 권한을 가지므로 데이터베이스의 세션 변수에 캐시하고 캐시 된 결과를 구문 분석하기 위해 PHP의 배열 함수를 사용하는 것이 더 효율적입니까?
요청이있을 때마다 이러한 조인을 수행하고 해당 작업을 수행 할 수 있는지 여부를 결정하는 것이 더 효율적입니까?
건배 :)
답장을 보내 주셔서 감사합니다 :) permitions은 그렇게 많이 변경하지 않아도됩니다. 따라서 PHP 배열 함수와 루프를 사용하여 특권을 처리하는 것이 SQl을 사용하여 특권을 처리하는 것보다 훨씬 빠르다는 말입니까? – F21
꽤 많이 있습니다. 물론 프로필 (이 테이블과 권한이 실제로 어떻게 생겼는지 모르겠다. 그래서 내가하는 말대로 진행할 것이다.)은 여러 조인에 대해 PHP 루프가 대부분의 경우 쉽게 이기게된다. – Sajid
도움 주셔서 감사합니다 :) – F21