소유자, 관리자 및 사용자 역할이 있습니다. 소유자가 한 명뿐입니다. 관리자가 나를 편집하거나 삭제하는 것을 어떻게 거부합니까? 소유자가 id 1을 가지고 있으므로 관리자가 소유자가 아닌 경우 isAuthorized()를 체크인 할 경우 다음을 수행합니다. $user['id'] != 1
. 이제 편집 또는 삭제중인 사용자가 소유자인지 확인하는 방법을 알려 드리겠습니다. 나는 이걸 가지고 사용자 ID를 얻는 법을 알고있다 : $this->request->params['pass'][0]
하지만 사용자 역할은 아니다.사용자가 편집 된 역할을 확인하려면 어떻게해야합니까?
1
A
답변
1
저는 "소유자"를 역할로 생각하지 않습니다. 다른 사람이 일반 역할 유형이되도록 허용 한 다음 items 테이블에 owner_id
필드를 유지하는 것이 훨씬 쉽습니다.
그런 식으로 역할을 높은 수준의 권한으로 처리 할 수 있으며 개별 항목 작업/메소드에서 소유권을 확인할 수 있습니다. 코드을 사용하여 코드를 DRY 상태로 유지하는 경우가 많습니다. 예를 들어 같은 PostsController->edit($id)
기능에
, 당신은 포스트에 find()
을 수행 할 수 있습니다, 그것은 그들이 소유자 인 경우 그들은 단지 편집 할 수 있는지 확인 $this->Auth->user('id')
에 대한 owner_id
있어 비교합니다.
역할을 검색하여 사용 가능하게 유지하려면 Auth-> user의 role_id
필드를 기반으로 roles
테이블에서 정상 찾기를 사용하여 AppController의 beforeFilter에서이를 수행 할 수 있습니다.
관련 문제
- 1. laravel에서 인증 사용자 역할을 확인하려면 어떻게해야합니까?
- 2. 사용자가 양식을 변경했는지 확인하려면 어떻게해야합니까?
- 3. admin 역할을 가진 사용자가 다른 사용자의 역할을 편집하도록 허용하려면 어떻게해야합니까?
- 4. 사용자가 프로필에서 특정 역할을 갖고 있는지 확인하려면 어떻게합니까?
- 5. 사용자가 시계를 뒤로 설정했는지 확인하려면 어떻게해야합니까?
- 6. asp.net 역할을 가진 녹아웃 편집
- 7. 사용자가 서클의 일부를 눌렀는지 확인하려면 어떻게해야합니까?
- 8. 사용자가 다른 기능에서 무엇을 입력했는지 확인하려면 어떻게해야합니까?
- 9. 사용자가 내 Facebook 페이지를 좋아하는지 확인하려면 어떻게해야합니까?
- 10. 업로드 된 파일의 보안 유형을 확인하려면 어떻게해야합니까
- 11. 웹 서비스에서 호출 된 WebMethod를 확인하려면 어떻게해야합니까?
- 12. 해시에서 중첩 된 속성을 확인하려면 어떻게해야합니까? 오류 :
- 13. TDBCheckBox가 런타임에 설정되었는지 확인하려면 어떻게해야합니까?
- 14. 사용자가 Facebook 타임 라인을 가지고 있는지 확인하려면 어떻게해야합니까?
- 15. 사용자가 disconnect.me/blocking mixpanel을 사용하고 있는지 확인하려면 어떻게해야합니까?
- 16. 코코아로 파일을 현재 사용자가 소유하고 있는지 확인하려면 어떻게해야합니까?
- 17. 사용자가 입력 한 번호에서 쉼표의 정확한 위치를 확인하려면 어떻게해야합니까?
- 18. 사용자가 router canActivate에서 인증을 받았는지 비동기로 확인하려면 어떻게해야합니까?
- 19. 사용자가 Instagram API에서 액세스 토큰을 기반으로하는 범위를 확인하려면 어떻게해야합니까?
- 20. 사용자가 프로그래밍 방식으로 Android 휴대 전화와 상호 작용하는지 확인하려면 어떻게해야합니까?
- 21. GET URL을 사용하여 사용자가 백엔드에 액세스하고 있는지 확인하려면 어떻게해야합니까?
- 22. 변수가 초기화되었는지 확인하려면 어떻게해야합니까?
- 23. 날짜가 같은지 확인하려면 어떻게해야합니까?
- 24. .load에서 .ready를 확인하려면 어떻게해야합니까?
- 25. QPushButton을 클릭했는지 확인하려면 어떻게해야합니까
- 26. OptionButton.Value가 선택되었는지 확인하려면 어떻게해야합니까?
- 27. 상자 배경색을 확인하려면 어떻게해야합니까?
- 28. 웹 사이트의 위치를 확인하려면 어떻게해야합니까?
- 29. Asp.net MVC -이 역할을 모른 채 사용자 역할을 얻으려면 어떻게해야합니까?
- 30. 어떤 템플릿을 사용하는지 확인하려면 어떻게해야합니까?