0

저는 Yii2 basic을 사용하고 있습니다.yii2에서 역할별로 Admin LTE의 사이드 바에서 메뉴를 변경하는 방법은 무엇입니까?

나는 Employee 테이블을 가지고 있고 설정 파일에 다음과 같이 나는 사용자 응용 프로그램 구성 요소에 직원 모델을 할당 :

'user' => [ 
      'identityClass' => 'app\models\Employee', 
      'enableSession' => true, 
      ], 

또한 역할 권한, 역할을 생성하고 할당 한 RBAC를 사용하여 직원들에게.

  • 직원 교육
  • SHGProfile
    1. 석사
    2. 직원 : 역할 관리자에 로그 인 직원, 그는 관리자 LTE의 사이드 바 메뉴 FOLL 볼 수 있습니다 이제

      1

    3. 설문 조사

    필드 역할을하는 직원이 로그인하면 사이드 바에서 위의 메뉴를 볼 수 있습니다. Fieldofficer는 FOLL 메뉴가 표시되어야합니다

    1. 어떻게 직원의 역할에 따라 관리자 LTE의 사이드 바의 메뉴를 변경하는 내 프로필
    2. SHGProfile

    ?

    2. 직원이 역할을 할당받은 경우에만 직원이 시스템에 로그인 할 수 있어야합니다. 이 일을 성취하는 방법?

    답변

    0

    저는 Yii 2에 대해 처음 접했고, 지난 주에 이렇게했습니다. 희망이 도움이됩니다.

    • Rbac을 사용하여 원하는 작업을 수행 할 수 있습니다. RBAC에 대한 자세한 내용 : https://en.wikipedia.org/wiki/Role-based_access_control

    • 시스템에 RBAC를 구현하는 Yii 2 플러그인이 있습니다. https://github.com/dektrium/yii2-rbac

    • 사용자에게 역할을 할당 할 수 있습니다. 그리고 그 역할에 대한 사용 권한을 부여하면 기본적으로 관계의 친자적 친족입니다. 역할에

      $auth = Yii::$app->authManager; 
      $admin = $auth->getRole('admin'); 
      $auth->assign($admin, 1); // the second parameter is user id 
      
    • 지정 권한 :

      $auth = Yii::$app->authManager; 
      $admin = $auth->getRole('admin'); 
      $permCheckAdmin = $auth->createPermission('permCheckAdmin'); 
      $permCheckAdmin->description = 'Check if admin'; 
      $auth->add($permCheckAdmin); 
      $auth->addChild($admin, $permCheckAdmin); 
      
    • 확인을 사용자가 권한을 가지고 또는 사용하지 않을 경우 다음과 같이 해 새로운 사용자 지정 권한을 만들 때마다

    • :

      Yii :: $ app-> user-> can ('permCheckAdmin');

    • admin 및 employee에게 권한을 할당하고 권한에 따라 작업을 사용할 수 있습니다.

    희망이 도움