찾다

 >  Q&A  >  본문

역할에 따라 각 사용자에 대한 권한 집합을 정의하기 위해 Laravel Spatie 권한 설정 방법을 설정하는 방법은 무엇입니까?

내 시스템을 사용하는 사용자 유형은 4가지입니다. 1. 최고 관리자 2. 최고 관리자 팀 , 3. 관리자 및 4. 경영팀 구성원, 역할과 권한을 처리하기 위해 spatie를 사용하기 때문에 모든 유형의 사용자에게 공통적인 모듈(권한) 세트와 결제 방법 등과 같이 최고 관리자만을 위한 또 다른 모듈(권한) 세트가 있습니다. 이제 허가를 위해 데이터베이스를 시드한 후에는 모든 데이터베이스를 한 번에 시드해야 합니까? ['contacts','email','bids'] Network Guard와 함께 제공되므로(Guard의 정확한 사용법과 작동 방식에 대해 약간 혼란스럽습니다) 관리자는 이러한 허용된 권한 중에서 자신의 팀에만 권한을 할당할 수 있습니다. 그러나 최고 관리자의 경우 최고 관리자를 사용해야 합니다. Guard 다른 권한 집합을 만드시겠습니까? 모범 사례가 무엇인지 알고 싶습니다. 사용 사례: 최고 관리자먼저 시스템에 로그인한 다음 목록에서 관리자에게 부여할 권한을 결정하세요. 2. 관리자는 시스템에 로그인하여 자신의 팀에 부여할 권한 집합을 할당하지만, 관리자는 최고 관리자가 보유한 권한 목록을 볼 수 없습니다. 제 주장이 명확했으면 좋겠습니다. 이를 구현하는 적절한 방법을 알려주세요.

P粉197639753P粉197639753373일 전884

모든 응답(1)나는 대답할 것이다

  • P粉736935587

    P粉7369355872023-11-15 10:44:18

    사용자라는 모델을 사용하고 사용자에게 직접 권한을 할당하고 있는 것 같습니다. 내 접근 방식은 다음과 같습니다. 따라서 먼저 역할을 만들고 해당 역할에 적절한 권한을 부여한 다음 해당 역할을 사용자에게 할당할 수 있습니다.

    먼저 역할에 권한을 할당하세요

    으아악

    이제 사용자와 역할을 동기화하세요

    으아악

    app/Http/Kernel.php에 작성할 수 있는 내장형 spatie 미들웨어입니다

    으아악

    이제 보호할 경로에서 "역할" 미들웨어를 사용할 수 있습니다.

    으아악

    이제 최고 관리자 또는 관리자와 같은 특정 역할에 대한 권한을 얻어야 합니다. 당신이 할 수 있는 일은 다음과 같습니다.

    으아악

    또한 이 방법으로 사용자 역할을 얻을 수 있습니다

    으아악

    한 가지 더, 최고 관리자의 경우 역할에서 권한을 얻을 필요 없이 모든 권한을 직접 얻을 수 있습니다. 그리고 최고 관리자는 전체 시스템에 액세스할 수 있으므로 이렇게 하면 최고 관리자 권한 확인을 우회할 수 있습니다.

    으아악

    도움이 되길 바랍니다 :)

    회신하다
    0
  • 취소회신하다