저는 중소 기업을위한 관리 플랫폼을 구축했으며 실제로 Laravel 5.4와 함께 v2에서 작업하고 있습니다.엔티티 상태에 따라 Laravel 액세스 권한에 대한 조언
- 홈페이지 관리 엔티티가 위임과 같습니다
컨텍스트는 다음과 같습니다. 책임, 주요 브로커, 서브 브로커 :
- 이 관리 할 수있는 몇 가지 항목 (CRUD)
- 사용자는이 위임에 초대하고 다른 역할을 가질 수있다.
- "글로벌"권한을 가진 일부 사용자는 총무 또는 CEO처럼 모든 권한에 액세스 할 수 있습니다.
- 그리고 까다로운 부분 인 액세스 권한은 위임 상태에 따라 변경됩니다.
전역 액세스 권한과 관련하여 모든 활동/역할 기반 액세스가 포함되어 있습니다.
위임 액세스 권한은 다음 저장 전용 테이블에 저장됩니다
mandate_status_id
role_identifier
action_identifier
is_authorized
내가 바로 주요 개체에 액세스를 처리하고있어 방법은 나를 귀찮게하고 나는 그것을 리팩토링하고 싶습니다. 나를 괴롭히는 것은 모든 액세스 확인시 위임장에 대한 "사용자 동의"와 관련하여 현재 사용자 역할을 결정해야한다는 것입니다. 위임 권한 테이블은 모든 요청에 대해 싱글 톤으로로드됩니다.
권한/역할에 대한 캐싱 접근 방식을 처음 시도했지만 위임 상태 이후 권한이 변경되지 않았을 때 제한이있었습니다.
저는 위임 모델을 인스턴스화 할 때 위임 액세스 또는 위임 컨텍스트를 구축하는 것과 같은 것을 생각하고있었습니다. 그것은 액세스 권한과 권한을 가진 사용자를 준비합니다. 당신은 내가
어쩌면 정책을 사용하는 것이 도움이되기를 바랍니다, 정책 미들웨어로 추가 할 수있는 방법이므로 역할에 따라 어쩌면 그룹 루트 수 있습니다. – Christophvh
네, 지금 당장하고 있습니다. @can을하거나 권한을 확인할 때마다, 사용자에게 위임장과 대조하여 역할을 확인한 다음 액세스 권한이 있는지 확인해야합니다. 미들웨어는 내가 생각하고있는 문맥을 instanciate 할 장소가 될 수 있습니다. – Hyti
https://laravel.com/docs/5.4/authorization – Indra