Cakephp- 해당 데이터의 소유자에게 데이터에 대한 RUD 작업을 전 세계적으로 제한하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1749297

  •  20-09-2019
  •  | 
  •  

문제

모든 것이 단일 사용자 (예 : 사용자-> 클라이언트-> 프로파일)와 연결되는 모델이 있습니다. 이제 사용자는 (c) 자신의 데이터에 대해서만 허용되어야합니다 (프로필의 소유자 만 성공적으로 액세스/프로파일/편집/[HISID])하므로 거의 모든 데이터베이스 작업에서 " 'user.id'=와 같은 조건. > $ this-> session-> read ( 'auth.user.id') "가 포함되어야합니다. 이를 위해서는 모델 기능 (찾기와 같은)이 항상 사용자 테이블에 "자신의 길"에 가입해야합니다 (또는 데이터 소유자를 여러 테이블에 저장하는 것이 좋지 않은 방법이 아닌 것 같습니다).

이것은 다양한 모델과 행동에 어떻게 올바른 방법으로 수행됩니까 (특히 모든 동작에서 사용자 ID를 비교하지 않고)? 모델의 콜백 기능에있을 수 있지만 지금은 일반적인 솔루션이 표시되지 않습니다.

이것은 파문 된 시나리오가 아닌 것 같습니다. 따라서 매우 명백한 솔루션이 누락 될 수 있습니다.

도와 주셔서 감사합니다!

도움이 되었습니까?

해결책

나는 모든 적절한 모델이 상속되는 슈퍼 클래스를 만들 것입니다. 전쟁과 같은 모델 콜백 메소드를 사용하여 권한을 확인하십시오.

http://book.cakephp.org/view/76/callback-methods

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top