테스트 사이트 - 개발 중인 베타 버전입니다

[정보] 관리자 및 회원의 페이지 접근 권한 간단구현

· 18년 전 · 2910 · 1
관리자 및 회원별로 각 메뉴별로 접근가능한 권한을 설정하는 간단한 구현방법입니다.

우선 사용자별로 접근가능한 메뉴별 코드를 "/"을 구분자로 불러온 뒤
현재페이지의 접근코드와 비교해서 퍼미션을 주는 방식입니다.

이것의 간편한점은 DB나 이런것이 않쓰이기 때문에 이미 구현된 홈페이지에
간단하게 퍼미션파일만 인크루드시키면 권한설정이 끝납니다.

간단한 로직이니 보시면 아실듯하네요. 그냥 간단하게 권한설정 기능을 주실분들은
사용해봐도 좋을듯 합니다. ^^;;


<?
$strSQL = "SELECT perpage FROM TBmanager WHERE no='$managerNo'";
$resultArray = $conn->fetchArray($strSQL)
if($conn->numRows())
{
    $arrpercode = explode("/", $resultArray[perpage]);
    $arrcnt    = count($arrpercode) - 1;
}
else
{
 alertBox("로그인 하세요.", "location.href='/otsuni/manager/'");
 exit;
}

// 부운영자일 경우 권한 체크
if($managerPermission != "1")
{

// 일단은 접근권한이 없음
  $ispermission = 0;

// 누구나 접근 가능한 페이지 설정
  $anypage[0] = "/otsuni/manager/index.php";
  $anypage[1] = "/otsuni/manager/loginpost.php";
  $anypage[2] = "/otsuni/manager/logout.php";

// 현재페이지가 누구나 접근가능한 페이지인지 판단
  for($i=0; $i<=2; $i++)
  {
    if($anypage[$i] == $PHP_SELF)
    {
      $ispermission = 1;
      break;
    }
  }


// 누구나 접근 가능한 페이지가 아닐 경우의 권한 체크
  if($ispermission)
  {
    $perpage[0] = "/otsuni/manager/company/list.php";            $percode[0] = "001";
    $perpage[1] = "/otsuni/manager/company/add.php";            $percode[1] = "010";
    $perpage[2] = "/otsuni/manager/company/addpost.php";        $percode[2] = "010";
    $perpage[3] = "/otsuni/manager/company/edit.php";            $percode[3] = "010";
    $perpage[4] = "/otsuni/manager/company/editpost.php";        $percode[4] = "010";

// 현재페이지의 페이지코드 찾기
    for($i=0; $i<=4; $i++)
    {
      if($perpage[$i] == $PHP_SELF)
      {
        $currpercode = $percode[$i];
        break;
      }
    }

// 현재페이지코드와 관리자의 접근페이지코드가 일치하는지 판단
    for($i=0; $i<$arrcnt; $i++)
    {
      if($arrpercode[$i] == $currpercode)
      {
        $ispermission = 1;
        break;
      }
    }
  }

// 이 페이지에 대한 접근권한 없음
  if(!$ispermission)
  {
    alertBox("사용권한이 없습니다", "history.back();");
    exit;
  }
}
?>
[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

디비를 쓰면 더 좋을것 같네요 ^^

게시글 목록

번호 제목
12452
40
25015
12447
12446
12445
JavaScript PLSQL이란
29296
12440
기타 메뉴 4
12438
12437
29294
35
32
12434
12433
12432
29293
29
12431
12428
12421
29292
12411
12402
27
29290
12400
24
12397
12396
21
12391
12390
18
16
12377
12373
13
9
12372
12371
12363
1
13432
12362
12360
12355
25014
29287
12352
12349
29279
12344
12340
12335
12333
12331
29273
12330
12329
12328
12324
12323
12318
12316
12313
12310
12309
12307
12303
12296
12291
12280
12277
12275
29272
12274
12260
12252
12250
12248
29267
12245
29266
29261
12239
12238
29251
12236
12231
12228
12214
12211
12210
29248
29247
25010
12208
12207
12202