2009-12-27 3 views
2

PHPmySQL에 웹 사이트를 구축 중입니다. 프론트 엔드 및 백엔드 기능을 제공합니다. 관리자 만이 사용자 이름과 비밀번호를 사용하여 백엔드에 입장 할 수 있습니다. 이제 관리자가 다른 하위 관리자를 웹 사이트에 추가하려는 경우 그렇게 할 수 있습니다. 이 방법을 사용하면 하위 관리자가 로그인하여 원래 관리자가 수행 할 수있는 모든 작업을 수행 할 수 있습니다.권한으로 멤버 액세스를 제한하는 PHP 코드

나는 내 선택의 하위 관리자의 액세스를 제한하고 그들이 관리자 패널의 특정 부분을 액세스 할 수 있도록 그들에게 권한을 할당 할 :

내가 뭘 원하는지. 내가 무슨 말을하고있는 기능

예 :

내가 원래 관리자에 의해 액세스 할 수있는 다음과 같은 링크를 가지고 생각해 보자. 1. 기사 추가 2. 기사 승인 3. 기사 삭제 4. 사용자 추가 5. 사용자 편집 6. 사용자 삭제 7. 사이트 설정 변경 8. 재무 정보보기 9. 메일 센터

권한을 설정하지 않은 경우 모든 하위 관리자는 위의 모든 링크에 액세스 할 수 있습니다. 두 명의 하위 관리자 'David'및 'Bob'을 만들라고 가정 해보십시오.

가 지금은 액세스 밥을 원하는

  1. 기사를 추가 4. 사용자 추가, 7. 변경 사이트 설정 :

    는 지금은 다윗이 백엔드의 다음 원하는 섹션에 액세스하려면 백엔드의 다음 원하는 섹션 :

    1. 는, 2. 승인 기사, 3. 삭제 기사, 4. 사용자 추가, 9 메일 센터 기사를 추가

    본인은 원래 관리자이므로 모든 섹션에 액세스 할 수 있어야하며 David와 Bob은 &이 할당 된 링크와 페이지 (또는 기능)에만 액세스 할 수 있어야합니다. 나는 이것을 어떻게하는지에 대한 단서가 없다. 또한 예를 들어, 하위 관리인이 '기사 추가'페이지에만 액세스하도록 제한하려면 입력 한 내용이 기사 추가 페이지에있는 것으로 간주하여 해당 페이지에 액세스 할 수도 있습니다. add_articles_next.php 페이지. 또한 'add_articles_next.php page'는 링크 목록의 아무 곳에 나 나타나지 않습니다. 하위 관리자가 액세스 할 수있는 페이지에서 게시 된 페이지 일뿐입니다.

    명시 적으로 지정하지 않으면 시스템에서 알 수있는 방법이 없다는 것을 이해합니다. 그렇습니다. 이것이 제 질문입니다. 그것을하는 방법? 나는 객체 지향적 인 사람이 아니므로 PHP 코드가 함수를 사용하면 나에게 좋을 것이다. 내가 무슨 말을하고있는 기능

    기타 라이브 예 :이 주제를 연구하면서

    나는 특징을 가로 질러왔다. Click here to visit it. 이것은 다소 비슷한 기능처럼 보입니다.

    나에게 줄 수있는 코드를 미리 보내 주셔서 감사합니다.

+0

Google에서 무료로 구현하기를 원하십니까? – streetparade

+0

안녕하세요, 귀하의 의견을 보내 주셔서 감사합니다. 어떻게 계획 하시겠습니까? – Devner

답변

4

이전에 여러 번 물었습니다. 검색 할 키워드는 ACL (Access Control Lists)입니다. ACL을위한 가장 눈에 띄는 PHP 솔루션 중 하나는 Zend_ACL입니다.매우 일반적이며 필요에 맞게 사용자 정의 할 수 있어야합니다. 객체 지향 라이브러리에 대한 의견에 대한

편집 :

시장에 PHP를위한 아주 좋은 약간의 ACL이 있기 때문에 매우 어려울 것입니다 객체 지향되지 않은 ACL 솔루션을 찾기 (젠드 제가 아는 유일한 것입니다.) 그리고 가장 현대적인 응용 프로그램은 다소 객체 지향적 인 접근 방식을 취하고 있습니다. 하지만 자습서를 확인해도 걱정하지 마십시오. 나는 함수 지향적 인 응용 프로그램에서 Zend_Acl을 사용하여 문제가 없을 것이라고 생각합니다. OOP를 통해 ACL에 대해 이야기해야하지만, 쉽습니다. 나는 당신이 당신의 앱을 많이 바꿔야한다고 생각하지 않는다. 시도해 보시고 일반적인 메모에서 기본 OOP는 배우기가 어렵지 않습니다. PHP 매뉴얼의 "클래스와 객체"장을 잘 읽으십시오.

+0

안녕하세요, 귀하의 회신과 해결책에 감사드립니다. 사실, 저는 비 객체 지향 접근법을 찾고있었습니다. Zend_ACL은 OOPS 개념을 사용하고있는 것처럼 보입니다. 내 앱. 함수를 사용하여 작성되었으며 OOPS 개념보다 훨씬 적은 명령을 가지고 있습니다. 따라서 OOPS 개념이 필요하지 않은 솔루션에 대한 모든 솔루션/참조를 제공해 주시면 큰 도움이됩니다. 고맙습니다. – Devner

+0

답변에 대한 설명을 올렸습니다. –

+0

안녕하세요, 알려 주셔서 고맙습니다. 나는 그것을 시험해보고 그것이 어떻게 진행되는지 볼 것이다. – Devner

관련 문제