나는이 주제에 대해 상충되는 정보를 읽었으므로 나는 내가 제시 한 시나리오로 한 계획이 다른 계획보다 더 이상적 일 것이라고 기대한다.PHP 세션 대 DB 조회
내 경우에는 "섹션"으로 구성된 "그룹"에 대한 액세스 권한이있는 "사용자"가 있습니다. 각 섹션은 사용자 구성 방법에 따라 다른 권한 수준을 가질 수 있습니다. 그래서 저는 동료가 "기본"인 동안 섹션의 "관리자"가 될 수 있습니다.
로그인 한 후 사용자는 관리 /보고하려는 그룹을 선택합니다. 내 원래 계획은이 페이지에 갈 때 그리고, 나는 그들이있어 어떤 그룹을 찾아 볼 수 ...
$_SESSION[group_id][sectioin_id]['permission'] = 7; // 1+2+4 (R+W+X)
를 같은 세션에서 배열의 사용자/그룹/절/permisison 정보와 저장소를 조회하는 것이 었습니다 in 섹션에서 어떤 섹션 페이지가 표시되는지 확인하고 해당 권한을 기반으로 적절한 정보를 표시하십시오.
또는 DB 조회 스크립트를 작성하여이 정보를 확인할 수도 있지만 여러 조인 된 테이블에서 조회해야하며 각 페이지에 대한 결과를 구문 분석해야합니다. 이것은 나에게 비효율적 인 것처럼 보이지만, 각 페이지에 대해 세션이 어떻게 쓰여지는지에 관해 내가 읽었던 것에서 볼 때 그렇지 않을 수도 있습니다.
아이디어/제안 주셔서 감사합니다.
// ----
가능한 세션 크기
에 대한 추가 정보는 지금 그룹은 데이터를 최대 3 개 5 개 섹션의 최대있다. 이 섹션의 1,3,4 유료 수준에와 2,5는 무료 버전에있는 경우 것$_SESSION[1][1]['permission'] = 7;
$_SESSION[1][1]['type'] = 'paid';
$_SESSION[1][1]['expires'] = '2011-08-01';
$_SESSION[1][2]['permission'] = 7;
$_SESSION[1][2]['type'] = 'free';
$_SESSION[1][3]['permission'] = 7;
$_SESSION[1][3]['type'] = 'paid';
$_SESSION[1][3]['expires'] = '2011-08-01';
$_SESSION[1][4]['permission'] = 7;
$_SESSION[1][4]['type'] = 'paid';
$_SESSION[1][4]['expires'] = '2011-08-01';
$_SESSION[1][5]['permission'] = 7;
$_SESSION[1][5]['type'] = 'free';
: 세션의 최대 크기는 현재 뭔가처럼 될 것입니다. 로그인 당 추적 할 세션 항목이 너무 많습니까?
7 == 1 + 2 + 3 ??;) – PeeHaa
고려해야 할 한 가지. 사용 권한이 세션에 저장되어 있으면 사용 권한 변경 내용이 즉시 적용되지 않습니다. 사용자는 새로운 허가를 얻으려면 '로그 아웃'하고 다시 로그인해야합니다. –
@PeeHaa : 7은 111 바이너리 (R 비트, W 비트, X 비트) – reinierpost