2012-12-21 3 views
0

메뉴에 액세스 할 수있는 권한이 없습니다. 홈, 프로필, 갤러리,으로 문의하십시오. 관리자운영자의 두 가지 유형의 사용자가 있습니다. 예 : 관리자가정, 프로필문의 메뉴를 참조하십시오. 운영자에는 가정프로필 메뉴 만 표시됩니다. codeigniter에 대한 사용 권한을 구분하는 방법은 무엇입니까?CodeIgniter에서 사용 권한을 기반으로 메뉴를 표시합니다.

도와주세요.

+0

ascl 라이브러리를 사용하고 역할 유형을 부여하십시오. –

+0

나에게 다운로드 링크를 줄 수 있습니까? – ramadani

+0

http://ellislab.com/forums/viewthread/213845 –

답변

3

간단한 방법은 사용자를 구분할 수있는 프로필 ID를 제공하는 것입니다. 예를 들어 Admin 1 및 운영자 사용자 2의 경우.보기 파일에 메뉴를 표시 할 때 프로파일 ID를 사용하여 메뉴 표시에 일부 조건을 입력하십시오.

주 사용자 데이터가있는 세션 데이터의 프로필 ID를 저장하십시오.

+0

감사합니다. 시도해 보겠습니다. :) – ramadani

0

하나 이상의 관리자 권한이 필요하지만 다른 사람이 아닌 유형이 두 가지 이상인 사람을 상상하지 않으면 다른 사용자 유형을 사용하는 것이 효과적입니다. 더 나은, 또는 오히려 더 미래의 증거, 그것을하는 방법은 역할을 통해입니다.

다른 역할을 사용하여 역할 테이블을 만들면 사용하기 위해 관리자 및 사용자 역할을 갖게됩니다. 그런 다음 RoleId와 UserId를 보유 할 조인 테이블을 만듭니다. 사용자가 로그인하여 세션 변수를 작성하고 보유한 여러 역할의 배열로 채우면 보호가 필요한 특정 페이지가있을 때 필요한 권한에 대해 해당 배열을 확인하기 만하면됩니다.

예를 들어 비즈니스 사이트가 있다고 가정하면 사용자 로그인, 기본 관리자 로그인, 영업 로그인 및웨어 하우스 로그인이 필요합니다. 판매 및 창고에 제품을 수정할 수있는 기능이 필요하지만 창고에 가격을 수정해서는 안된다는 주장을 들어 보겠습니다. 물론 다른 사용자 유형을 할당 한 다음 페이지가로드 될 때 해당 사용자 유형을 확인하지만 점점 더 많은 권한이 필요하게됩니다. 역할을 사용하여웨어 하우스 및 영업 담당자에게 제품 권한 역할을 할당하고 판매 만 가격 편집 권한을 얻습니다.

두 개의 서로 다른 사용 권한 유형을 가진 두 개의 개별 사용자 유형 만 필요한 경우 역할 기반 인증이 과도하게 사용되는 것입니다. 그러나 그것은 당신이 더 많은 것을 필요로 할 것이라고 생각하는 상황을 계획하고 세우는 것을 해칠 수 없다고 말하고 있습니다.

관련 문제